error handling improvements

This PR addresses the fact that errors in production don't contain any context apart from the stacktrace. To capture the context, some refactoring and controller improvements have been required.

- stopped using custom 503 error, reusing the generic one
- error logging and interception now happens in the ApplicationController
- cleaned up feedback controller
- request context is now captured upon an error