Rename clear_request_headers to clear_request_header.

This clarifies what it does, since it does not remove all headers ever.
It now only supports one header at a time, but that is the default use case.
Move request implementation to library specific methods.
Support choosing requests library, make Zope app setup optional.

When no Zope app is set up, the ``requests`` library is set as default,
otherwise ``mechanize``.
Support form submitting with requests library.
Improve login and header support for equests library requests.
Requests library: add support for file uploads.

This refactors file uploads in general to no longer using
mechanize for creating the multipart request body.