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.
1. Headers must be less than 1024 bytes each; see the `Parser` class in this file which does `yield parse_boundary_stream(sub_stream, 1024)`.

2. Not sure, I just updated the initial patch from @tomchristie. I guess he didn't think it was a problem or overlooked it.