Cannot subclass MultiIndex
`MultiIndex` cannot be subclassed because in several spots, including `__new__`, the output class is hardcoded as `MultiIndex` rather than `cls`  or `self.__class__` or the like.

This code illustrates the problem:

``` python
$ python
Python 2.7.10 (default, Sep 13 2015, 20:30:50) 
[GCC 5.2.1 20150911] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> class MyMultiIndex(pandas.MultiIndex):
...     pass
... 
>>> multiindex = MyMultiIndex([['a'], ['b']],
...                           [[0], [0]])
>>> print type(multiindex)
<class 'pandas.core.index.MultiIndex'>
```

The last line should instead read

``` python
<class '__main__.MyMultiIndex'>
```

I have a patch in the works.

``` python
>>> pandas.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.10.final.0
python-bits: 64
OS: Linux
OS-release: 4.1.0-2-amd64
machine: x86_64
processor: 
byteorder: little
LC_ALL: None
LANG: en_US.utf8

pandas: 0.16.2.dev
nose: 1.3.6
Cython: 0.23.2
numpy: 1.9.2
scipy: 0.14.1
statsmodels: 0.6.1
IPython: 2.3.0
sphinx: 1.3.1
patsy: 0.4.0
dateutil: 2.2
pytz: 2012c
bottleneck: None
tables: 3.1.1
numexpr: 2.4.3
matplotlib: 1.4.2
openpyxl: None
xlrd: 0.9.4
xlwt: 0.7.5
xlsxwriter: None
lxml: None
bs4: 4.4.0
html5lib: 0.999
httplib2: 0.9.1
apiclient: None
sqlalchemy: None
pymysql: None
psycopg2: None
```
