Drop webob from auth_token.py

This came up as a packaging problem in Fedora. Now that Swift does
not need python-webob RPM, some sites install a proxy node without.
We add the proper webob dependency to the python-keystoneclient.
Still, in the face of parallel installs, and we end patching
setup.py and diverge from upstream, and we do not like it.

It may be better just stick to WSGI protocol by small amount of
hand-rolled code and drop WebOb altogether.

Note that we keep WebOb in the testing code. The fix is purely
about the stuff that runs inside a WSGI server. Therefore,
requirements.txt continues having no WebOb (apparently, was
forgotten before), but test-requirements.txt keeps WebOb in,
and this patch changes nothing.

Initial version of this patch produced an inexplicable drop in
testing coverage and Chmouel put his foot down on it. We were
unable to figure out why the drop happened. Most likely coverage
simply lied about the previous percentages and getting rid of
import webob permitted it a better analysis. So, we add some
unrelated tests to bump coverage percentages up.

Of course we add a targeted test for the new code too. For that
one to work, we change how set_middleware() treats its fake_http
argument.

This version also adds comments rather than docstrings, because
they need to source as context.

Change-Id: Iba33b11e77b9910211983aa725c69d3886e1c7a7
Merge "Drop webob from auth_token.py"