Improved documentation for QueryDict.
Fixed #22897 -- Made QueryDict query_string argument optional.

Now QueryDict() is equivalent to QueryDict('') or QueryDict(None).
Fixed #22799 -- Made GET and POST on HttpRequest QueryDicts, and FILES a MultiValueDict.

Previously, GET, POST, and FILES on an HttpRequest were created in
the __init__ method as dictionaries. This was not something you would
usually notice causing trouble in production as you'd only see a
WSGIRequest, but in testing using the test client, calling .getlist
on GET, POST, or FILES for a request with no get/post data resulted in
an AttributeError.

Changed GET and POST on an HttpRequest object to be mutable
QueryDicts (mutable because the Django tests, and probably many
third party tests, were expecting it).
Fixed #20128 -- Made CsrfViewMiddleware ignore IOError when reading POST data.

Thanks Walter Doekes.
Fixed #22050 -- Fixed defer fields on proxy related models.
Removed unused variable.
Fixed #22903 -- Fixed migration generation if index_together or unique_together is removed from a model.
Fixed typo in revamped forms intro doc.
Split tests.basic.ModelTests in several tests; refs #18586.