Add transitive jar dependencies to depmap project info goal for intellij plugin.

Add transitive jar dependencies to depmap goal for Pants Intellij plugin

When creating projects using the plugin, the depmap showed direct dependencies for 3rdparty jar libraries.
This change add the trasitive dependency jars to the depmap output.
The transitive jars are required to correctly configure intellij modules.

Testing Done:
yes.

Added integration tests but need to verify the contents.

PR created here:
https://github.com/pantsbuild/pants/pull/626
{Coverage increased (+0.04%) when pulling 09790ec on add_transitive_jar_deps into ad7d09d on master.}

Locally tested
./pants tests/python/pants_test/tasks:depmap_integration

Reviewed at https://rbcommons.com/s/twitter/r/1047/
Make sure that 'option java_package' always overrides 'package' in protobuf_gen

Found a bug where:

option java_package = "foo";
package bar;

was processed differently from

package bar;
option java_package = "foo";

For java code generation, the setting of 'option java_package' should always win.

Testing Done:
Added a unit test.

Bugs closed: 629

Reviewed at https://rbcommons.com/s/twitter/r/1108/
Add test for jar_publish.  This required some refactoring so that functions could be mocked.

Includes a few minor cleanups to comments, error messages, docstrings,
etc.  This is in preparation for some improvements to how the scm integration is done.

Testing Done:
Ran the new tests and the integration tests.

Reviewed at https://rbcommons.com/s/twitter/r/1082/
Added an example of how to use Antlr with Java.

Testing Done:
Added integration test and unit test.

Bugs closed: 620

Reviewed at https://rbcommons.com/s/twitter/r/1088/
Retry on failed scm push.  Also pull with rebase, to increase the odds of success.  Don't pull before tagging.

In addition, separate commit from push; this means that SVN will no longer be supportable, but that's OK because SVN users could use git-svn (which is supportable if anyone cares).

This review is meant to apply on to of https://rbcommons.com/s/twitter/r/1082/ -- when we're happy with 1082, I'll rewrite this one as necessary.

Testing Done:
Ran unit and integration tests for jar_publish. Also for git.

Reviewed at https://rbcommons.com/s/twitter/r/1083/
Fix some error reporting issues.

1. Let the new options system throw exceptions to the top in the
   usual way.  We already have error handling there.

2. Ensure that if we throw an exception to the top we report our
   status as FAILURE, not SUCCESS.

Reviewed at https://rbcommons.com/s/twitter/r/1113/