index into multi-index past the lex-sort depth

closes https://github.com/pydata/pandas/issues/7724
closes https://github.com/pydata/pandas/issues/2646

on current master:

    >>> df
                               jolia
    jim joe jolie      joline       
    1   z   2014-10-14 a          30
        y   2014-10-13 b           3
        x   2014-10-12 c          15
    0   z   2014-10-11 d          35
        y   2014-10-10 e          43
        x   2014-10-09 f          36

False negative if the key length exceeds lexsort depth:

    >>> (0,) in df.index
    False
    >>> (0, 'z') in df.index
    False
    >>> (0, 'z', '2014-10-11') in df.index
    False
    >>> (0, 'z', Timestamp('2014-10-11')) in df.index
    False
    >>> (0, 'z', '2014-10-11', 'd') in df.index
    False

only ones which work:

    >>> 0 in df.index
    True
    >>> (0, 'z', Timestamp('2014-10-11'), 'd') in df.index
    True

which take a different code paths. The last one only works if the index is unique:

    >>> (0, 'z', Timestamp('2014-10-11'), 'd') in pd.concat([df, df]).index
    False

for all of the false negative cases above, obviously `df.loc[key]` fails:

    >>> df.loc[(0, 'z', Timestamp('2014-10-11'))]
    KeyError: 'Key length (3) was greater than MultiIndex lexsort depth (0)'

*Some of these issues persist even if the index is lexically sorted:*

    >>> df.sort_index(inplace=True)
    >>> df  # lexically sorted
                               jolia
    jim joe jolie      joline       
    0   x   2014-10-09 f          36
        y   2014-10-10 e          43
        z   2014-10-11 d          35
    1   x   2014-10-12 c          15
        y   2014-10-13 b           3
        z   2014-10-14 a          30

date-time indexing with a full-key fails if index is unique:

    >>> (0, 'x', '2014-10-09') in df.index  # partial key, works!
    True
    >>> (0, 'x', '2014-10-09', 'f') in df.index  # full key, unique index, breaks!
    False

also, non-unique lexically sorted index always returns false positive with any full key:

    >>> xdf = pd.concat([df, df]).sort_index()
    >>> xdf
                               jolia
    jim joe jolie      joline       
    0   x   2014-10-09 f          36
                       f          36
        y   2014-10-10 e          43
                       e          43
        z   2014-10-11 d          35
                       d          35
    1   x   2014-10-12 c          15
                       c          15
        y   2014-10-13 b           3
                       b           3
        z   2014-10-14 a          30
                       a          30
    >>> (0, '$', '2014-10-09') in xdf.index  # partial key works
    False
    >>> (0, '$', '2014-10-09', '#') in xdf.index  # full key always `True`
    True
    >>> xdf.loc[(0, '$', '2014-10-09', '#')]
    KeyError: 'the label [$] is not in the [columns]'
use ``self.assertIn`` (or ``self.assertTrue``); these are more informative that a bare assert