Various Java improvements including an HRD consistency fix and a new setting OnBackend.

Also made job IDs more readable, renamed entity kinds (incompatible
change), and log the URL for the UI for each task.
Allow an empty list of futures to be passed to After()
re-add thread init call to After; whoops
Add validation for After to ensure Futures are passed in
Do retry/abort on argument and return value serialization exceptions.
Whoops forgot the actual code for r73
Fixed bug in Pipeline.from_id where class variables were not preserved
Support idempotence_keys that are non-unicode
First step towards a root pipeline listing UI; Splits status_ui.py into separate module; no UI actually works yet
Fixed a few missing imports from the status_ui split
First RPC for root list page working
Minimal root pipeline UI working
Removing random logging statement
Missed traceback import
Adds class path name dropdown to list UI
Do not hide overflow for root list page
Fixes bug in class path calculation for sub-classes; small UI tweaks for root pipelines view
Java: New method setStatusConsoleUrl, and avoid importing from com.google.appengine.repackaged.

Plus some other minor cleanup.
Redo ant build file using ivy to retrieve dependencies

Among the ant specific changes, fixes warnings in Javadoc creation, includes json jar in demo to enable viewing status site, and updates to 1.7.6 SDK.

Used the GCS library ant file as template, particularly for naming conventions.

Revision created by MOE tool push_codebase.
MOE_MIGRATION=6381
Replace use of deprecated Lists.newUnmodifiableArrayList with ImmutableList.copyOf.


Revision created by MOE tool push_codebase.
MOE_MIGRATION=6382