[API/ERR]: Better error message on unstack with non-unique index names
``` python
df = pd.DataFrame([1,1], index=pd.MultiIndex.from_tuples([('a', 'a'), ('a', 'b')], names=['i1', 'i1']))

In [5]: df.unstack('i1')

...

KeyError: 'Level i1 not found'
```

I can do a PR later.

Should also probably be a `ValueError` instead of a `KeyError`.
