[PTFM-11648] Rename file object to final name before closing

This prevents a situation where we close the file, but then are not allowed to rename it, because we only have UPLOAD permissions.
[PTFM-11648] Cosmetic enhancements to progress printing

Ensure all part upload tasks have printed their end-of-upload progress reports to sys.stderr (and so, ensure that all parts have uploaded) before renaming, closing, printing newline and details.
Disable (by default) tests that query nonexistent users

Also alphabetize our test config vars.
Set __version__
Fix wiki link.
Changelog and version updates for v0.94.0
dx should prepend API error class to the error msg

...since DXAPIError.__str__ no longer does so. This seems to be more
consistent with the handling of other kinds of errors.
Fix test failure introduced by word wrapping change.

Adds new params {output,stderr}_text that let you assert that the
output (stderr) text contains a given sequence of words (with arbitrary
whitespace in between).
Set line buffering in text I/O wrappers when wrapping a tty
dx sh should catch BaseException
Revert "Revert "Add test for dx sh""

This reverts commit 929602bcc2b399330faefb130c0a8cbbfb38b40c.

I expect this test to start passing with https://github.com/dnanexus/dx-toolkit/commit/f206e7e68475dde76ac68b2d10da154fd4e87729.
The buffering fix in f206e7e obviates replacing input() with a wrapper (which in turn was breaking readline)
Fix Python docs.

This change moves all "from __future__ import unicode_literals" to after
the module docstring. Docstrings that appear after such imports are
ignored by Sphinx!
Merge branch 'master' of github.com:dnanexus/dx-toolkit
shlex does not support unicode properly; encode to bytes and back when using it
Revert "The buffering fix in f206e7e obviates replacing input() with a wrapper (which in turn was breaking readline)"

This reverts commit ef206f7a749324b560e7a0c3e61865e0a87e7c05.
Don't print details when it's an empty dict.
Don't transform KeyboardInterrupt into Exception

This interferes with expected exception handling and prints an ugly stack trace when the user presses Ctrl+C.
Crash informatively if neither dxpy.WORKSPACE_ID nor --project-id is set
describe(DescribeOptions) returns specific subtype for each DO class

This makes describe(DescribeOptions) behave analogously to describe()
(with the default options). Otherwise, when you use
describe(DescribeOptions) you can't access the fields that are specific
to the specific data object class you are using (e.g. media type for
files, schema for GTables, etc.).