PTFM-12572 Removing check of root block device
Standardize test suite for Retry-After tests.

Both Python and Java now test:
* Small number of 503s
* Large number of 503s (exceeding the normally allowed number of
  retries)
* 503s that do not set Retry-After still get handled correctly (filling
  in a default)
PTFM-12727, PTFM-3468 Re-fetch upload URL per file upload attempt

- Introduce functionality into dxpy.DXHTTPRequest to accept a callback
  for fetching the upload URL and headers.
- Refactor dxpy.DXFile.upload_part to use this functionality instead
  of supplying the URL and headers directly.

This accomplishes two goals:
- A short-term workaround for
  https://github.com/shazow/urllib3/issues/438, which causes the
  Python client to treat any early server disconnect when sending a
  large body as a transport error, and prevents it from recognizing
  503 Retry-After (blocking PTFM-12727).
- A long-term fix for S3 direct upload (PTFM-3468), for which the
  client needs to re-request the pre-authenticated URL before every
  upload, since enough time may have passed since the last request to
  invalidate the preauth timeout.
Merge pull request #73 from dnanexus/PTFM-12727-repeat-upload-url-request

PTFM-12727, PTFM-3468 Re-fetch upload URL per file upload attempt
Changelog and version updates for v0.110.0
Unvendor requests module; upgrade it to version 2.3.0