3857: replaced httplib2 with 'requests'

Replaced httplib2 with the 'requests' library in modules that use it to
call Keep:
* arvados.collection
* arvados.keep
* arvados.retry
* arvados.stream

Updated unit tests and mocks appropriately.
3857: implement proxy_timeout

Add proxy_timeout argument to KeepClient.

Default timeouts are:
* timeout = (3, 30)
* proxy_timeout = (20, 60)

Added unit tests to check that KeepClient.get and KeepClient.put use the
default 'timeout' setting when talking directly to a Keep server, and
the 'proxy_timeout' setting when communicating with a proxy.
3857: code review feedback

* Set default timeouts to (20, 300) for proxies and (2, 300) for all
  else.
* KeepService:
** Removed unused 'timeout' argument to __init__()
** Trimmed unnecessary exceptions in last_status()
* Tests:
** test_collections.py: changed mock_api_call return value back to
   fake_httplib2_response
** Flattened test layers to eliminate KeepClientRetryGetTestMixin and
   KeepClientRetryPutTestMixin
** Moved proxy timeout tests to
   KeepClientServiceTestCase.test_proxy_get_request and
   .test_proxy_put_request
* Removed excess blank lines in docstrings
3857: fixed import order. d'oh
3857: fixed comment
Merge branch '3857-python-sdk-timeouts'

Fixes #3857.