title: possible bug in pandas sort with NaN values
body: <p>If I make a dataframe like the following:</p>
  
  <pre><code>In [128]: test = pd.DataFrame({'a':[1,4,2,7,3,6], 'b':[2,2,2,1,1,1], 'c':[2,6,np.NaN, np.NaN, 1, np.NaN]})
  In [129]: test
  Out[129]:
     a  b   c
  0  1  2   2
  1  4  2   6
  2  2  2 NaN
  3  7  1 NaN
  4  3  1   1
  5  6  1 NaN
  </code></pre>
  
  <p>basic sorts perform as expected. Sorting on column c appropriately segregates the nan values. Doing a multi-level sort on columns a and b orders them as expected:</p>
  
  <pre><code>In [133]: test.sort(columns='c', ascending=False)
  Out[133]:
     a  b   c
  5  6  1 NaN
  3  7  1 NaN
  2  2  2 NaN
  1  4  2   6
  0  1  2   2
  4  3  1   1
  
  In [134]: test.sort(columns=['b', 'a'], ascending=False)
  Out[134]:
     a  b   c
  1  4  2   6
  2  2  2 NaN
  0  1  2   2
  3  7  1 NaN
  5  6  1 NaN
  4  3  1   1
  </code></pre>
  
  <p>But doing a multi-level sort with columns b and c does not give the expected result:</p>
  
  <pre><code>In [135]: test.sort(columns=['b', 'c'], ascending=False)
  Out[135]:
     a  b   c
  1  4  2   6
  0  1  2   2
  2  2  2 NaN
  3  7  1 NaN
  4  3  1   1
  5  6  1 NaN
  </code></pre>
  
  <p>And, in fact, even sorting just on column c but using the multi-level sort nomenclature fails:</p>
  
  <pre><code>In [136]: test.sort(columns=['c'], ascending=False)
  Out[136]:
     a  b   c
  1  4  2   6
  0  1  2   2
  2  2  2 NaN
  3  7  1 NaN
  4  3  1   1
  5  6  1 NaN
  </code></pre>
  
  <p>I would think that this should have given the exact same result as line 133 above. Is this a pandas bug or is there something I'm not getting? (FYI, pandas v0.11.0, numpy v1.7.1, python 2.7.2.5 32bit on windows 7)</p>