Set index with prepend
Associated issue: https://github.com/pandas-dev/pandas/issues/26742

This PR adds the ability to _prepend_ indices to existing ones using `.set_index()`, in the same vein as the `append` argument.

This avoid having to do the awkward alternatives:
- `.reset_index().set_index(...)`
- `.set_index(append=True).swaplevel(...)` or `.set_index(append=True).reorder_levels(...)`

`prepend` is mutually exclusive with `append`. The code will test for this and raise ValueError if not.

- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
