Missing rows on DataFrame outer join with MultiIndex
Hi,

I'm trying to compute an outer join on several columns applied to several DataFrame objects in one step. However, the result I get seems to force the uniqueness on the set of join columns and, as a consequence, some rows are missing.

Here is some example code that shows the output from a join operation over 3 dataframes in one step and a merge operation (in 2 steps) over the same data. Comparing both, we see that the join operation doesn't include the row "1  1  10  100  1000".

```
from pandas import DataFrame, merge

def multiple_join():
    df1 = DataFrame({"a": [1,1], "b": [1,1], "c": [10,20]})
    df2 = DataFrame({"a": [1,1], "b": [1,2], "d": [100,200]})
    df3 = DataFrame({"a": [1,1], "b": [1,2], "e": [1000,2000]})
    df1.set_index(["a", "b"], inplace=True)
    df2.set_index(["a", "b"], inplace=True)
    df3.set_index(["a", "b"], inplace=True)
    df_joined = df1.join([df2, df3], how='outer')
    return df_joined

def cascade_merge():
    df1 = DataFrame({"a": [1,1], "b": [1,1], "c": [10,20]})
    df2 = DataFrame({"a": [1,1], "b": [1,2], "d": [100,200]})
    df3 = DataFrame({"a": [1,1], "b": [1,2], "e": [1000,2000]})
    df_partially_merged = merge(df1, df2, on=['a', 'b'], how='outer')
    df_merged = merge(df_partially_merged, df3, on=['a', 'b'], how='outer')
    return df_merged

if __name__ == "__main__":
    print multiple_join()
    print cascade_merge()




#         c    d     e
#   a b               
#   1 1  20  100  1000
#     2 NaN  200  2000
#
#      a  b   c    d     e
#   0  1  1  10  100  1000
#   1  1  1  20  100  1000
#   2  1  2 NaN  200  2000
```

However, this problem doesn't seem to arise when we specify "how={anything other that outer}" in the join operation.

So, either this is a bug or I'm missing something here. In either case, I would appreciate any comment regarding this issue. And, BTW, it would be really could if "merge" could accept a list of DataFrames and join them efficiently in one step.

Thanks and regards.
