title: Pandas.sort_index does not sort by second given argument
body: <p>Here is a MWE:</p>
  
  <pre><code>import pandas as pd
  
  pd.np.random.seed(0)
  (
      pd.DataFrame(pd.np.random.rand(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
      .assign(b=lambda df: (df.b*10).astype(int))
      .set_index(['a', 'b', 'c'])
      .sort_index(axis=0, level=['b', 'a'])
  )
  
  Out[96]: 
                              d         e
  a        b c                           
  0.087129 0 0.832620  0.778157  0.870012
  0.639921 1 0.944669  0.521848  0.414662
  0.670638 2 0.128926  0.315428  0.363711
  0.359508 4 0.697631  0.060225  0.666767
  0.645894 4 0.891773  0.963663  0.383442
  0.791725 5 0.568045  0.925597  0.071036
  0.617635 6 0.616934  0.943748  0.681820
  0.264556 7 0.456150  0.568434  0.018790
  0.978618 7 0.461479  0.780529  0.118274
  0.548814 7 0.602763  0.544883  0.423655
  </code></pre>
  
  <p>I don't understand why the <code>a</code> index is not sorted (see the <code>b=7</code> rows).</p>
  
  <p>Expected results (but not acceptable solution):</p>
  
  <pre><code>pd.np.random.seed(0)
  (
      pd.DataFrame(pd.np.random.rand(10, 5), columns=['a', 'b', 'c', 'd', 'e'])
      .assign(b=lambda df: (df.b*10).astype(int))
      .sort_values(['b', 'a'])
      .set_index(['a', 'b', 'c'])
  )
  
  Out[104]: 
                              d         e
  a        b c                           
  0.087129 0 0.832620  0.778157  0.870012
  0.639921 1 0.944669  0.521848  0.414662
  0.670638 2 0.128926  0.315428  0.363711
  0.359508 4 0.697631  0.060225  0.666767
  0.645894 4 0.891773  0.963663  0.383442
  0.791725 5 0.568045  0.925597  0.071036
  0.617635 6 0.616934  0.943748  0.681820
  0.264556 7 0.456150  0.568434  0.018790
  0.548814 7 0.602763  0.544883  0.423655
  0.978618 7 0.461479  0.780529  0.118274
  </code></pre>