If --throttle is specified, reduce number of upload threads

Number of Upload threads are reduced such that each thread
gets at least 1MB/sec to upload.
Add missing Guava dependency.
Fix formatting of Python docs.
Merge pull request #49 from abiyani/throttle-thread-update

Fix for issue #48 (reduce number of threads when --throttle is used)
Supply custom user agent for Java bindings.
Merge pull request #51 from dnanexus/java-user-agent

Supply custom user agent for Java bindings
Java exception hierarchy for API errors.

* Introduce package com.dnanexus.exceptions with all the API error
  subtypes. All API errors throw DXAPIException or (when possible) one
  of its subclasses (e.g. InvalidInputException). Also introduce
  DXHTTPException which captures HTTP errors like the connection being
  dropped, or the response being unparseable. DXHTTPException is only
  thrown if a request and all 5 retries fail, and the error that is
  thrown reflects the last attempt.

* DXHTTPRequest.request is changed to only throw unchecked exceptions.
  DXHTTPException and DXAPIException are both subclasses of
  RuntimeException (therefore unchecked).

* Example apps and tests are updated to remove or refine "throws"
  classes.
Add Ubuntu 13.10 installation instructions.
Recommend installation of maven2.
Windows compatibility for Python syntax checks.
Changelog and dxR version update for v0.74.0
Remove some obsolete commented-out code.
[PTFM-9932] Move error handling logic from testServerConnection to checkForUpdates (to eliminate unnecessary findUsers call). Some formatting cleanup.
Unify Upload Agent build infrastructure and dependency management. Introduce Windows installer target
Install all UA build products into bin
Add copyright header for DXHTTPException.java
Prevent DXAPI from being instantiated-- all its methods are static.
Java high-level bindings: DXContainer and DXProject
Make install target depend on dist
Update dxpy.DXJob.get_output_ref doc with an example