Stop raising AttributeError when wrapping funcs

Before Python 3.2, `functools.wraps` (used in `UnitRegistry.wraps`) raised an `AttributeError` when wrapping functions without all of the attributes in `functools.WRAPPER_ASSIGNMENTS` and `functools.WRAPPER_UPDATES`. In Python 3.2, this limitation was removed. This commit removes the limitation in older versions of Python, as well.

For example, `scipy.optimize.interp1d` creates functions without a `__name__` attribute. Trying to use `UnitRegistry.wraps` with them failed on Python 2.7; this commit fixes the issue.