Use functools.wraps() instead of copying attributes

Hey, this is a great library.

Is there any reason for not using `functools.wraps()` ?

<https://docs.python.org/2/library/functools.html#functools.wraps>
<https://docs.python.org/3.4/library/functools.html#functools.wraps>