Error controller to handle HTTP errors.

Fixes #257 and #310.
Would it be better if I throwed an ErrorRedirectException inside the HTTPErrorException constructor?