This is a fix for issue #367

Objects of class BinaryNotFound can not be instantiated because the constructor does not qualify the class name with its parent when it invokes the constructor of the superclass.

Testing Done:
https://travis-ci.org/pantsbuild/pants/builds/30476122

Reviewed at https://rbcommons.com/s/twitter/r/705/
Resurrected pants goal idea.

This mostly involved updating outdated references, and making utility functions to mimick functionality refactored long ago.

Source and Javadoc jars are not mapped in, and I'm not quite sure how to get that working again. I'd appreciate any input on that matter.

The code in idea_gen and ide_gen isn't very clean, because it wasn't very clean in the first place. It would be good to go back at some point and tidy it up.

Idea gen is also much more efficient than it used to be, thanks to the round manager: it now avoids compiling or jarring anything, which saves tons of time. It would still be nice to include a flag to optionally disable codegen, but I'm not sure how (un)trivial that is at this juncture.

Testing Done:
Added (passing) integration tests under tasks/test_idea_integration.py
Tests under tasks:integration pass.

Bugs closed: 349

Reviewed at https://rbcommons.com/s/twitter/r/695/
Upgrade to twitter.common.python 0.5.10.

This brings in the following bugfix:

"Update the mtime on retranslation of existing distributions.

1bff97e stopped existing distributions from being overwritten, to
prevent subtle errors. However without updating the mtime these
distributions will appear to be permanently expired wrt the ttl."
Made a small change to stop problems we were getting compiling our annotation processors.

This is related to the pants-devel discussion 'Nondeterministic Phase Execution Order'. Briefly:
when the resources phase happens to precede the compile phase, resources in .pants.d  pollute the
jmake classpath when compiling some of Square's internal annotation processors. This makes jmake
quite irate, so this code stops that from happening.

This fix is not terribly elegant, in that it doesn't address the underlying problem of resources
getting on the classpath in the first place. Perhaps this problem will go away when a formal
classpath object is created.

Testing Done:
Code which didn't compile now compiles.

Ran test tests/python/pants_test:: and nothing fails that doesn't also fail on the master branch.

Bugs closed: 373

Reviewed at https://rbcommons.com/s/twitter/r/708/
Use resources from junit_tests, in addition to from jvm_binary

https://rbcommons.com/s/twitter/r/711/
Fix transitive dependencies for GroupIterator/GroupTask

A Java target A has a transitive dep on a Scala target C via an
intermediate JarLibrary/Dependencies target B (ie, "un-flavored" from
GroupTask's perspective.) GroupIterator's call to sort_targets correctly
includes target B, which results in a topsort of 'C <- B <- A'. But
coalesce_targets drops target B, because it doesn't match the
discriminator ("is unflavored".) Because target B is ignored and
coalesce only looks at direct deps, C is allowed to be reordered before
A.

- Must not reorder past an intermediate (dropped) target in
  GroupIterator
  - Allow for more subclasses of GroupTaskTest
  - Add reproduction unit test

https://rbcommons.com/s/twitter/r/706/
junit_run needs to setup resources before executing.

RB_ID=https://rbcommons.com/s/twitter/r/709/
Create an internal version of just the parts of t.c.dirutil we need.

Switch a handful of uses over.

This is to reduce our deps on twitter.commons.
Merge branch 'master' into lahosken_manualautomatic
excellent feedback is excellent