Friendly and consistent error pages

- show friendly 404, 422 and 500 pages which are more consistent with the rest of the app
- 404 when a site or organisation isn't found
- provide JSON error responses when JSON was requested

This still relies on Rails' default exception handling in that certain errors (notably `ActiveRecord::RecordNotFound`) are sent by ActionDispatch middlewares to a configured `exception_app`, but that now points to our routes so that `ErrorsController` can provide a response using our views.

To see this pages in dev instead of the exception details, set `config.consider_all_requests_local` to `false` in `config/environments/development.rb`.