PTFM-12054 Fix dxpy coverage report

Summary:
Explicitly pass the COVERAGE_PROCESS_START env var to the
python process that runs the dxpy tests. This ensures coverage is
measured in subprocesses. Also updated the test selection option
(--testfile) to take an entire unittest file, as a stopgap until
the existing per-test method selection option (--tests) can be
tweaked to work again.

Test Plan: Tested locally and on Jenkins

Reviewers: psung

Reviewed By: psung

Subscribers: akislyuk

Differential Revision: https://phabricator.dnanexus.com/D75
dx upgrade: Use wget if curl is not available
PTFM-13084 Provide a patched shlex.split when on Python 2

shlex prior to Python 2.7.3 is not compatible with Unicode
strings. The wrapper in dxpy.compat.shlex.split encodes its input to
bytes and decodes the output to Unicode.
Suggest spelling corrections in dx
Merge pull request #75 from dnanexus/dx-suggest-spelling-corrections

Suggest spelling corrections in dx
Parallel upload/download for dx-upload/download utilities

Test Plan: updated unit tests.

Reviewers: psung

Reviewed By: psung

Differential Revision: https://phabricator.dnanexus.com/D71
Renaming TEST_BENCH to TEST_BENCHMARKS
Avoid monkey patching shlex globally (fixes test broken by 49c2bbb)
Build dxpy source distribution and use pip to install from it

This is needed because when using dxpy's "setup.py install", the
resulting installation injects a setuptools path into sys.path before
our own path, causing us to rely on an external pkg_resources file
from setuptools, and if that is too far out of date, it's unable to
resolve newer-format dependencies (ones that use "dist-info"
directories).

In particular, this should resolve the
"pkg_resources.DistributionNotFound: requests==2.3.0" message on
CentOS.
Revert "Build dxpy source distribution and use pip to install from it"

This reverts commit 2563e6091f8653c676ea32db222caa080e817054.
PTFM-13049 Source build venv before installing

This is intended to avoid the use of an out of date
setuptools/distutils when installing dxpy, eliminating errors like
"pkg_resources.DistributionNotFound: requests==2.3.0".
Make test wait for files to close before invoking dx-run-app-locally

While the system waits for files to close before running jobs,
dx-run-app-locally does not.
PTFM-8497: fixes for dx describe jobs with resolved JBORs

Summary:
In particular, use additional API calls to ensure that the correct
resolutions are reported (even in cases of flattened arrays, etc.)

Test Plan: added unit test

Reviewers: akislyuk

Reviewed By: akislyuk

Differential Revision: https://phabricator.dnanexus.com/D80
Remove now-broken test for retrieving resolved JBORs
Changelog and version updates for v0.115.0
dx describe bugfix for resolved array indexed JBORs
(cherry picked from commit f7c07e8042976ce78de5f6c4a3b31aebba339e1b)
PTFM-13132 Fix dx sh with stdin commands
PTFM-13049 Inject SDK path into sys.path in Setuptools entry points

Force our Python path to appear before everything else in
sys.path. This is necessary when an out-of-date installation of
Setuptools appears in sys.path, providing a version of
pkg_resources.py that is unable to read our Python package
requirements metadata, and crashes with a
pkg_resources.DistributionNotFound error.
Changelog and version updates for v0.115.1
Show extended stacktraces conditional on _DX_DEBUG=2 only