BUG: .rename* not treating Series as mapping
Closes https://github.com/pydata/pandas/issues/12623

I added com.is_dict_like in https://github.com/pydata/pandas/pull/11980
and failed to use it for the `rename` method. Using that now and did
some refactoring while I was in there. Added more tests for rename.
