Revert "Clean up http.py a bit more"

This reverts commit 0f1c082615f59eb411a5c2124ad3fb0319b90ea5.
Revert "Wrap Flask.request and use @before_request"

This reverts commit c3425e685d2b803b2585603ba281ef67c2097706.
Deal with exceptions before they reach Flask

Flask exception handling is kinda hairy, especially for Blueprints,
because exceptions get registered in a centralized location. It is
cleaner to avoid it altogether.