Instead of returning response objects, raise errors.

Some wrapping decorators (like mimerender) expect dicts, not response
objects.

Raising exceptions for HTTP error responses avoids quirks of the
applicaitons. (This is also what flask.abort() eventually does).