use python-decorator to preserve function signatures

We want methods decorated with @identity.require to retain their
original signature so that Sphinx can extract it for the XML-RPC docs.
We can use python-decorator (which is where TurboGears stole their
implementation from).

Change-Id: I962a5956ca2e6ca43d67a2362efe8399fe2a6eec
Merge "use python-decorator to preserve function signatures" into develop