ENH: Preserve .names in df.set_index(df.index)

Preserve .names in df.set_index(df.index)

Check that df.set_index(df.index) doesn't convert a MultiIndex to an Index

Handle general case of df.set_index([df.index,...])

Cleanup

Add to release notes

Add equality checks

Fix issue on 2.6

Add example to whatsnew