Adds a Realistic WSGI Server for Testing

Sending of chunked-encoded data is not currently tested to be correct anywhere in requests' tests, and is called out as a needed improvement in #5906.  This is a hurdle to accepting #5664, a change which would both simplify requests' code and consistently use [urllib3 for retrying errors](https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html).  

The [existing test server](https://github.com/psf/requests/blob/main/tests/testserver/server.py) is a simple socket that can send and receive data and is not aware of HTTP protocols.  Therefore, using it to verify correct sending of chunked-encoded data, for instance, would ultimately become a change-detector test.  

This change seeks to remedy that while also taking a step towards both simplifying and strengthening requests' tests.

We strengthen requests' tests by introducing the popular [Werkzeug library](https://github.com/pallets/werkzeug) as an explicit test dependency ([Flask](https://github.com/pallets/flask), which uses Werkzeug, is already a test dependency).  By doing so, we leverage their authority as an implementer of [PEP 3333](https://www.python.org/dev/peps/pep-3333/) to validate our own implementation of chunked encoding.  This implicitly future-proofs against any hypothetical breaking changes to the standard by testing against Werkzeug's trusted implementation.

We also simplify requests' tests, since the implementation of the test [WerkzeugServer](https://github.com/psf/requests/commit/f1f838e36bc24fb40d7121e72298da3e5a7149ff#diff-a53b39ec2e425dad0c8387f8402839b2ec328e93494086ed66abb4b49708deeb) here is substantially more concise than the [current test server](https://github.com/psf/requests/blob/main/tests/testserver/server.py).  If this change is accepted, in another pull request I will refactor all of requests' tests to use the WerkzeugServer rather than the current test server.  

Finally got the test server to verify that it is actually ready to accept connections in a robust way!  Sorry about holding the test queue up for so long.  

This PR has been sitting here for a while and I'm wondering if there's still any interest from the maintainers with regard to improving your tests.

If I can get some feedback that you would prefer to test against a realistic WSGI server instead of the existing simple socket and that you'd accept the PR, I'll refactor all of your tests to use the `WerkzeugServer` implemented here, simplify your code, and hopefully make it easier to make forward progress in the future because of the greater confidence imparted by more realistic tests.

If there is no interest, I'll close this PR.

There's interest in _adding_ a WSGI server not in _replacing_ it entirely. There are tests that a socket server is still incredibly valuable for and tests that a higher level server would be better suited to.

@sigmavirus24 Sure, I buy that.  In the interest of closing this PR and making things better, I need clarification on how you want to proceed:

- We could merge this as a body of work and proceed to add WSGI tests piecemeal going forward on a case-by-case basis.
- I could make a separate WSGI version of all tests, so that there would be both a socket and WSGI version of every existing test.
- You could clarify which specific tests you would prefer a WSGI version of and I can refactor only that subset.

I'd still like to see requests move towards more realistic testing against an actual implementation of PEP 3333.  If any specific guidance can be provided on what the expectations are in order to merge this PR, I will make the necessary modifications or refactor additional tests.  



Hello!  This pull request is very old, but I still feel that adding realistic tests against a reference implementation of PEP 3333 would be worthwhile.

If any guidance can be provided as to what the maintainers' expectations are in order to merge this change, then I will be happy to conform to those expectations and also to refactor any desired subset of the existing tests.