title: Inner join with MultiIndex fails if no overlap
body: <p>I can't get "empty" inner joins to work with a MultiIndex.  Under 0.10.1, I have:</p>
  
  <pre><code>d1 = pd.DataFrame({
      'i1': [1, 2, 2],
      'i2': [1, 1, 2],
       'a': [10,20,30]}).set_index(['i1', 'i2'])
  d2 = pd.DataFrame({
      'i1': [3, 3],
      'i2': [1, 2],
      'b': [40, 50]}).set_index(['i1', 'i2'])
  d1.join(d2, how='inner')
  </code></pre>
  
  <p>which gives me</p>
  
  <pre><code>Exception: Cannot infer number of levels from empty list
  </code></pre>
  
  <p>Is there any good way around this? I'd like to be able to tell in advance if the intersection is empty, so I can avoid the exception.</p>