Support annotations on all thrift elements.

This change adds support for custom annotations on enums, enum values, exceptions,
services and functions. This patch adds equivalent support in the canonical
thrift compiler:

https://issues.apache.org/jira/browse/THRIFT-1651

So these annotations will probably be valid in the next version of thrift.
Add a --jvm-run-only-print-cmd-line flag to pants.

This is useful when using pants in scripts etc. and since you can't
run multiple concurrent instances of pants.
Merge pull request #46 from benjyw/master

Add a --jvm-run-only-print-cmd-line flag to pants.
Change the cmd-line printing option to dump to file.

Unfortunately it's impossible to guarantee that other prints aren't
happening too, which will gum up the output.
Merge pull request #48 from leothekim/master

Add support for -no-color in scala compilation logging output
Change the cmd-line printing option to dump to file.

Unfortunately it's impossible to guarantee that other prints aren't
happening too, which will gum up the output.
Address code review comments.
Merge remote-tracking branch 'forked/master'

Conflicts:
	src/python/twitter/pants/tasks/binary_utils.py
	src/python/twitter/pants/tasks/jvm_run.py
Support annotations on all thrift elements.

This change adds support for custom annotations on enums, enum values, exceptions,
services and functions. This patch adds equivalent support in the canonical
thrift compiler:

https://issues.apache.org/jira/browse/THRIFT-1651

So these annotations will probably be valid in the next version of thrift.
Fix indentation per code review.
Merge remote-tracking branch 'forked/annotations_for_all' into annotations_for_all

Conflicts:
	src/antlr/twitter/thrift/descriptors/AntlrThrift.g
Merge pull request #47 from benjyw/master

Change the cmd-line printing option to dump to a file.
Merge pull request #39 from benjyw/annotations_for_all

Support annotations on all thrift elements.
Support for thrift in Mountain Lion.
Merge pull request #50 from benjyw/master

Support for thrift in Mountain Lion
Allow the repl task to pass optional args
Allow scala_repl args to come from command line options
Release lock before running a JVM process in pants.

This is so we can run multiple processes concurrently, and/or
use other pants commands concurrently with a run command.
Merge pull request #55 from benjyw/master

Release lock right before running a process.
Better scala flat-mode support in pants.

Having flat mode builds all write to the same place allows Zinc to
do invalidation when we switch targets. E.g., if building B->A and
C->A, we won't have to recompile A. Before this change B->A and C->A
were seen by pants as two completely independent builds.

This change also adds a workdir parameter for ScalaCompile, so that
foursquare's plugin compilation can have its own output dir.

This change also makes it so that listing all pants goals doesn't
require holding the lock.