allow rename to work with any Mapping, not just dict
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html claims to work with a dict-like object, but according to https://github.com/jab/bidict/issues/18#issuecomment-147643550 it does not. This patch changes `isinstance(..., dict)` to `isinstance(..., collections.abc.Mapping)` as a first pass attempt to bring the code more in line with the documentation.
