Fixed #21231 -- Added mechanism to limit request data upload size.

Added settings.DATA_UPLOAD_MAX_MEMORY_SIZE, similar to the existing
FILE_UPLOAD_MAX_MEMORY_SIZE, and raised SuspiciousOperation on
requests that exceed it.
This seems reasonable. My implementation plan would be to add a `status_code=400 ` attribute to `SuspiciousOperation`, subclass it as:
```
class RequestEntityTooLarge(SuspiciousOperation)
    """The user sent a request that's too large"""
    status_code = 413
```
and then replace "400" in this block https://github.com/django/django/blob/master/django/core/handlers/base.py#L175-L189 with `e.status_code`.

Absent a general exception handling mechanism as suggested in [#22058](https://code.djangoproject.com/ticket/22058), we'd also have to add `handler413`.

@apollo13 - since you were against the general mechanism in the above ticket, I'm curious for your opinion on this.