Deprecation decorator

I seem to be deprecating stuff recently. Here is a deprecation decorator to make it easier.

It causes a warning to be issued when the object is used, marks the object as deprecated in the Sphinx docs, and in each case allows the user to be informed about a specified alternative.


 ```python
@deprecated(since="0.7", alternative="new_function")
def old_function(args):
    pass
```