Fix mocking of HTTPClient.request() method.

The test_extend_list_exceed_max_uri_len test case mocks
the request() method of HTTPClient class so that it raises
the RequestURITooLong exception. But the real method can't
possibly raise it (Client.do_request() does this instead).
Mocks should emulate the behavior of methods they stub out
and not change it in any way.

Fixes bug 1192197.

Change-Id: I62b2db111ef251f95eb9aa9c9cc00b53fdbccc68
Make --version option print a more detailed client version.

The python quantum client was printing "quantum 2.0" regardless of
the version of the client.  This seems to be the version of the
API but people expect the version of the client to be printed.

I looked at the implementation of --version in nova and keystone.
The one in keystone worked and was fairly straight-forward
utilizing code from the pbr package.  I added this code to version.py
rather than __init__.py.

Change-Id: I53264b454eb16d5c294ad40ab6494387637950db
Fixes: Bug #1190652
Merge "Make --version option print a more detailed client version."
Merge "Fix mocking of HTTPClient.request() method."