MRG: refactor RequireFile code and add rootpy.decorators

* Also check that file is writable.
* Adds the decorator [1] module (single file) in extern to preserve docs and signatures of decorated functions and methods.
* rootpy decorators are moved to rootpy.decorators

A few unit tests have been included.

[1] https://pypi.python.org/pypi/decorator