Add arv-put, a whput replacement built on the Python SDK.

refs #1646
Add --as-stream test.

refs #1646
Add CollectionWriter.data_locators()
Add arv-put --as-raw option.

refs #1646
Add arv-get, a whget replacement built on the Python SDK.

refs #1646
Command line usability improvements.

* Read from stdin if no path arguments are given.
* Add --stream, --manifest, --raw flags (equivalent to --as-*).

refs #1646
Fix sha1 test, dry up "remove ./tmp/foo" preparations

refs #1646
Improve compatibility with whput.

* Default to --raw when operating on a single file or stdin
* Accept --use-filename for --filename
* Accept --in-manifest for --manifest
* In --raw mode use comma instead of space between locators

refs #1646
Fix crash when destination directory supplied without trailing slash,
and crash when asked to copy a directory to a file.

refs #1646
Use our own exception classes, instead of just Exception
Fail more gracefully on some common error conditions
Fail gracefully when fetching a raw block that does not exist
Support "arv-get {locator}/filename path/to/localdir" invocation:
write file data to path/to/localdir/file

refs #1646
Add arv-get -f (force overwrite) and --skip-existing flags.

If neither is specified, and local destination files exist, refuse to
write anything.

refs #1646
Merge branch 'master' into 1646-arv-put

Conflicts:
	sdk/python/arvados.py
Add python client library package: arv-get, arv-put, arvados module

refs #1646
Support invoking arv-get and arv-put via "arv get" and "arv put".

refs #1646
Add "Install client libraries" page to doc/install/.

refs #1646
Point "arv keep get/put" to arv-get/put and unsupport "arv get/put"
style.

refs #1646
Merge branch '1646-arv-put'