ENH: allow pd.merge / join to create a MultiIndex result for columns
If no ``suffixes`` are specified, you get '_x', '_y' behavior.

```
In [76]: a = pd.DataFrame(dict(a=np.arange(5), b=np.arange(5), c=np.arange(5)))

In [77]: b = pd.DataFrame(dict(a=np.arange(6), b=[0,1,2,3,5,6]))

In [78]: a
Out[78]:
   a  b  c
0  0  0  0
1  1  1  1
2  2  2  2
3  3  3  3
4  4  4  4

In [79]: b
Out[79]:
   a  b
0  0  0
1  1  1
2  2  2
3  3  3
4  4  5
5  5  6

In [80]: res = pd.merge(a, b, left_index=True, right_index=True)

In [81]: res
Out[81]:
   a_x  b_x  c  a_y  b_y
0    0    0  0    0    0
1    1    1  1    1    1
2    2    2  2    2    2
3    3    3  3    3    3
4    4    4  4    4    5
```

If can be useful to allow ``suffix='expand'`` (or something like this). to enable an automatic
creation of a column multiindex (this is analagous to ``keys=`` arg in ``pd.concat``)

```
In [82]: res.columns = res.columns.str.split('_', expand=True)

In [83]: res = res.sort_index(axis=1)

In [84]: res
Out[84]:
   a     b      c
   x  y  x  y NaN
0  0  0  0  0   0
1  1  1  1  1   1
2  2  2  2  2   2
3  3  3  3  3   3
4  4  4  4  5   4
```
