Copy all function attributes (__doc__, __code__, __name__, etc) from original to JIT function

Uses functools.update_wrapper for most things, but __code__ is done by hand.  Resolves #470.
I've just checked, Python 2.6+ functions also have ``__code__``, so we could set it unconditionally.