Set history_user automatically using middleware

This adds an optional feature to populate `history_user` on historical models using middleware to retrieve the request object.

@treyhunner, @mauricioabreu I think this should be an acceptable implimentation of feature request #25. It probably could use a few tests around the new `get_history_user` method, and the documentation could be clearer.
Minor nitpick: I prefer to follow [PEP 257](http://legacy.python.org/dev/peps/pep-0257/#one-line-docstrings) for one line docstrings.