Fixed #22058 -- Refactored code in handlers/base.py and urlresolvers.py

**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.

If we were starting from scratch, we'd probably go with this, but I'd rather not change it now.

Use a local `status_code=40X` variable in the `except` clauses if you don't want to respond the int.