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.).
Installation instructions for Ubuntu 14.04
[PTFM-11712] Use prompt_for_yn in dx-app-wizard
Interpolate previously omitted variable into string
[PTFM-11710] Replace stdio wrappers with originals for raw_input

On Python 2, raw_input ceases to properly flush output and bind readline when sys.stdin and sys.stdout are replaced. The easiest solution turns out to be to set them back to what they were and do the encoding and decoding manually.

This is presumably not threadsafe, but for now we don't ever want to prompt the user for CLI input and simultaneously be doing something else.
[PTFM-11713] Text encoding fixes for templating utils
[PTFM-11711] DXFile.seek() supports whence