An example annotation processor

Testing Done:
Ran the target:

PANTS_DEV=1 ./pants goal bundle src/java/com/pants/examples/annotation/main

got the output in examples.txt
{
  {'type' : 'Main', 'value': 'Annotation Processing Example'},
}

Bugs closed: 131

Reviewed at https://rbcommons.com/s/twitter/r/372/
Fix non-relativized entry point for python_binary.

Also make sure that name and address are set on
TargetProxy objects before potentially raising TargetDefinitionException.

Testing Done:
CI passes

Reviewed at https://rbcommons.com/s/twitter/r/373/
Chop up the hairball a bit more: move some JVM specific tasks into pants/jvm/

The following classes now live in pants.jvm:

* IvyTaskMixin, for Tasks that call ivy_resolve
* JvmToolTaskMixin, for Tasks that bootstrap JVM tools
* NailgunTask
* IvyResolve
* JvmToolBootstrapper

Removing Task.ivy_resolve and the methods provided by JvmToolTaskMixin
cuts a large thread in the hairball--Task is no longer explicitly
dependent upon JVM specific machinery.

In a future update, I'll move the other explicitly JVM Task subclasses from pants.tasks to pants.jvm, or maybe pants.jvm.tasks.

Testing Done:
ci.sh passes

Reviewed at https://rbcommons.com/s/twitter/r/363/
doc: wait to mention 'rbt' until it's clear you don't need to easy_install it

Reviewed at https://rbcommons.com/s/twitter/r/367/
docs: tiny typo in 'first_concepts.rst'

Testing Done:
ran the ci.sh. Output: [== CI SUCCESS ==]

Reiewed at https://rbcommons.com/s/twitter/r/376/
Add missing __init__.py
Fixup pants.jvm package.

The package was missing an __init__.py.
Additionally pants.jvm.jvm_tool_task_mixin had under-reported deps.

Testing Done:
Was:
$ PANTS_DEV=1 ./pants
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/bin/pants_exe.py ***
Traceback (most recent call last):
  File "/home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/bin/pants_exe.py", line 21, in <module>
    from pants.commands.register import register_commands
  File "/home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/commands/register.py", line 8, in <module>
    from pants.commands.goal import Goal
  File "/home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/commands/goal.py", line 31, in <module>
    from pants.goal import Context, GoalError, Phase, register
  File "/home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/goal/register.py", line 11, in <module>
    from pants.tasks.antlr_gen import AntlrGen
  File "/home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/tasks/antlr_gen.py", line 12, in <module>
    from pants.jvm.jvm_tool_task_mixin import JvmToolTaskMixin
ImportError: No module named jvm.jvm_tool_task_mixin

No longer fails fast:
$ PANTS_DEV=1 ./pants
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/pantsbuild-pants/src/python/pants/bin/pants_exe.py ***
Pants 0.1.0

Usage:
  ./pants goal [option ...] [goal ...] [target...]  Attempt the specified goals.
  ./pants goal help                                 Get help.
  ./pants goal help [goal]                          Get help for the specified goal.
  ./pants goal goals                                List all installed goals.

  [target] accepts two special forms:
    dir:  to include all targets in the specified directory.
    dir:: to include all targets found recursively under the directory.

Friendly docs:
  http://pantsbuild.github.io/

Global options:
  -h, --help              Show this help message.
  -t CONN_TIMEOUT, --timeout=CONN_TIMEOUT
                          Number of seconds to wait for http connections.
  -x, --time              Times goal phases and outputs a report.
  -e, --explain           Explain the execution of goals.
  -k, --kill-nailguns     Kill nailguns before exiting
  -d LOGDIR, --logdir=LOGDIR
                          [none] Write logs to files under this directory.
  -l LOG_LEVEL, --level=LOG_LEVEL
                          [info] Set the logging level [debug, info, warn].
  -q, --quiet             Squelches all console output apart from errors.
  --no-colors             Do not colorize log messages.
  --read-from-artifact-cache, --no-read-from-artifact-cache
                          Read build artifacts from cache, if available.
  --write-to-artifact-cache, --no-write-to-artifact-cache

Bugs closed: 135

Reviewed at https://rbcommons.com/s/twitter/r/378/
Remove an unused (and broken) method.

Also rename a function.

This makes grepping for sources_relative_to_source_root less noisy.
RunTracker: Allow users to set the timeout on reporting starts, defailt to 2 seconds

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