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.
don't insist on @manual.builddict; rm it from many places

@manual.builddict is mostly redundant now. So clean clean clean.

Change the BUILD-Dictionary-building logic: document registered things; not just those registered things that were tagged @manual.builddict.

added some docstrings
lambda x : foo x loses foo's docstring, so add a helper func to carry that along

Motivation:

A couple of refactorings ago, we had lots of symbols def'd in BUILD files we didn't want folks to use. "Yeah, you _could_ use JvmTarget for that, but please use java_library instead." We used @manual.builddict to carefully mark those things we wanted to show up in the BUILD Dictionary.

In these enlightened days, we carefully craft our register.py files to specify the symbols we want. Thus, @manual.builddict is mostly a duplication of effort. (It's still useful for methods: most methods shouldn't be used in BUILD files. But a few of them are still around. So, even with this change, we mark those with @manual.builddict)

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

publish_docs.sh and eyeballing

Reviewed at https://rbcommons.com/s/twitter/r/703/
Copy a dirutil unittest from commons.
Make the dirutil test a proper unittest2 test.

Use unittest asserts instead of the assert keyword, use setUp/tearDown etc.

Also make sure we start with a clean slate, in case other tests use
the atexit functionality.
Remove all remaining deps on the trivial parts of t.c.dirutil.
Merge branch 'master' into new_flags2
WIP