Error controller to handle HTTP errors.

Fixes #257 and #310.
The point is that when an ```HTTPErrorException``` (including ```404```) is thrown we want to change(redrect) the controller to the new ```HTTPErrorController```. This is done when an ErrorRedirectExceprtion is catched with a ```$e->controller``` set to ```httperror```.

I