Fixed #22058 -- Refactored handlers and added a generic mechanism to deal with client and server errors.

**What is done**:

- Refactored handlers into generic ones.
- Deprecated original default views.
- Added generic views.

**Improvements Required**:
- Docs build have several warnings due to removing original handlers.
- A writeup for new views.

**Suggestions**:
- We could add two generic exceptions also: `HttpClientException` and `HttpServerException` to add onto the functionality.

Yes, I think we will need to do some special casing unfortunately. If we could find some discussion in tickets for the reasons for the difference, that would help us decide what to do. For example, we may want to use `RequestContext` by default and special case `Context`, since we are now generalizing this to other 4XX codes.