Add JarDep to aaptGen create_target method

This is two commits, one by me and another patch from jsirois.

This adds the android.jar to the created target and allows
the android target to properly compile. This outputs
java class files.

The java compile requires a java target. This also
finishes adding the android.jar. AndroidTargets will
now compile through pants. ivy requires a rev to resolve
jars and that fits so we can process each sdk group
together.

Reviewed at https://rbcommons.com/s/twitter/r/822/
Point to the new maven-central https endpoint.
This was brought to my attention by aurora threads and the announce was this weekend here: http://central.stage.sonatype.org/articles/2014/Aug/03/https-support-launching-now/

Also kill an unused resolver copied over from twitter/commons.

Testing Done:
$ rm -rf ~/.pants.d/tools/
$ PANTS_DEV=1 ./pants goal clean-all
$ PANTS_IVY_CACHE_DIR=/tmp/ivy2 PANTS_DEV=1 ./pants goal test {src,tests}/{scala,java}/::
...
               Executing goals in phases: bootstrap -> imports -> gen -> check-exclusives -> resolve -> compile -> resources -> test
13:10:18 00:17   [bootstrap]
13:10:18 00:17     [bootstrap-jvm-tools]
13:10:18 00:17   [imports]
13:10:18 00:17     [ivy-imports] INFO]
Downloading https://repo1.maven.org/maven2/org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar
 INFO] Starting new HTTPS connection (1): repo1.maven.org
100% .................................................. 1193 KB 6.273s
 INFO] sha1: c5ebf1c253ad4959a29f4acfe696ee48cdd9f473
...
13:20:11 10:10   [test]
13:20:11 10:10     [pytest]
13:20:11 10:10     [junit]
13:20:11 10:10       [bootstrap-junit]
13:20:40 10:39       [run]
                     ..........
                     Time: 0.177

                     OK (10 tests)

13:20:41 10:40     [specs]
               Waiting for background workers to finish.
               SUCCESS

$ find /tmp/ivy2 -name "ivydata-*.properties" | xargs grep location | cut -d= -f2 | cut -d/ -f-4 | sort | uniq -c
     15 http\://maven.twttr.com/com
      3 http\://maven.twttr.com/org
    225 https\://repo1.maven.org/maven2

Bugs closed: 438

Reviewed at https://rbcommons.com/s/twitter/r/824/
Add a new jvm specific fingerprinting for reintroducing the java and scala versions into the artifact hash. This is needed to avoid build cache artifacts mixing classes from different versions.

Reviewed here: https://rbcommons.com/s/twitter/r/808/
foo/README.md and bar/README.md don't clobber each other.

'./pants goal markdown ::' has a problem: every .../README.md file generates to the same path (.pants.d/markdown/markdown/html/README.html)

With this change, you instead get
.pants.d/markdown/markdown/html/_.readme.html
.pants.d/markdown/markdown/html/_src.java.com.pants.examples.hello.main.readme.html
.pants.d/markdown/markdown/html/_src.java.com.pants.testproject.page.readme.html
.pants.d/markdown/markdown/html/_src.python.pants.backend.python.readme.html
.pants.d/markdown/markdown/html/_src.python.pants.readme.html

Also in this change:
Turned some unnecessarily complex python into simple mustache templates.

Added src/java/com/pants/testproject/page to make sure I didn't break [[pants(...)]] "wikilinks".
Doesn't contain java, despite the dir.

Testing Done:
(got confluence goal temporarily working to make sure that markdown-page-moves didn't break confluence publish)

https://travis-ci.org/pantsbuild/pants/builds/31464526

Reviewed at https://rbcommons.com/s/twitter/r/750/
Ensime support: code navigation

Testing done:
generate ensime project for ensime-server, ran ci.sh

https://travis-ci.org/pantsbuild/pants/builds/31647409

Reviewed at: https://rbcommons.com/s/twitter/r/753/
Remove all deps on twitter.common.quantity.

The benefits it provides aren't worth the added external depenency.
Upgrade pex dependency from twitter.common.python 0.6.0 to pex 0.7.0.

Testing Done:
$ ./build-support/bin/ci.sh

Bugs closed: 439

Reviewed at https://rbcommons.com/s/twitter/r/825/
Fixup idea integration test to ignore ~/.pants.rc if present.

commit fe4d3517b998adf4f566c7e2a93bacff93ee1ee0
Author: John Sirois <jsirois@twitter.com>
Date:   Tue Aug 5 01:13:05 2014 -0600

    Fixup idea integration test to ignore ~/.pants.rc if present.

 tests/python/pants_test/tasks/test_idea_integration.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Testing Done:
Locally this used to fail for me with a customized ~/.pants.rc [idea]options, but now passes:
===
$ PANTS_DEV=1 ./pants goal test tests/python/pants_test/tasks/:idea_integration
...
01:15:51 00:00   [test]
01:15:51 00:00     [pytest]
01:15:51 00:00       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.6.9 -- py-1.4.23 -- pytest-2.6.0
                     plugins: cov, timeout
                     collected 8 items

                     tests/python/pants_test/tasks/test_idea_integration.py ........

                     =========== 8 passed in 17.78 seconds ============

01:16:10 00:19     [junit]
01:16:10 00:19     [specs]
               SUCCESS

Travis CI went green here: https://travis-ci.org/pantsbuild/pants/builds/31685448

Bugs closed: 441

Reviewed at https://rbcommons.com/s/twitter/r/828/
catch a file that didn't make it into the Ensime support commit

The patch for the change that became sha 8313f22a89f06f4bf6595c4cc7f87bd0367cc17f
didn't apply cleanly. I tweaked it by hand, but a day later, I see
this modified file in my repo: the BUILD change to pull in the test.
Computering: it's difficult.

So here's the BUILD change. Good news: the test passes.

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

Reviewed at https://rbcommons.com/s/twitter/r/830/
A hierarchy of argparse parsers.

Each parser corresponds to a command-line scope (e.g., 'compile.java').

See the code for copious comments.

Note: A future change will contain comprehensive tests for this code's
functionality.
Use JvmFingerprintStrategy in cache manager

JvmFingerprintStrategy was not used for the cache manager, causing the valid analysis file to be emptied the second time a compile was executed.

Testing Done:
Added a basic java compile integration test. Calls pants compile on a java test project twice, checking that the analysis file is valid each time.

Reviewed at https://rbcommons.com/s/twitter/r/835/
Update front-facing help and error messages for Android targets/tasks

Small improvements to an exception message and a CLI flag.
The missing manifest error in android_target didn't give
any hints as to where the bad BUILD file entry was pointing.

And the sdk-path CLI flag for android_task wasn't clear about what it did.
It could easily have been interpreted as forcing a platform
version (i.e. SDK platform 17) as opposed to what it
actually is meant to do, which is point to an entire
Android SDK installation somewhere on the filesystem.

The use case is to force a custom SDK over the AOSP one on
the machines path. Lots of OEM customize the framework and
might have multiple SDKs on the fs.

Testing Done:
CI passes.

Travis passes [0].

[0] https://travis-ci.org/pantsbuild/pants/builds/31784570

Reviewed at https://rbcommons.com/s/twitter/r/837/
Rename pants.goal.goal.Goal to pants.goal.task_registrar.TaskRegistrar.

Rename pants.command.goal.Goal to pants.command.goal_runner.GoalRunner.

There is now no class called Goal, no file called goal.py and no target called :goal anywhere.
Add assert_list to ensure an argument is a list

Testing Done:
Ran unit tests locally

Reviewed at https://rbcommons.com/s/twitter/r/811/
Updates error message when referencing the wrong path to a BUILD file.

Before, it would just spit out the incorrect BUILD file path.:

  Exception message: BUILD file does not exist at: /Users/zundel/Src/Pants/src/java/com/pants/examples/annotation/exampleTYPO

Now it will read as follows:

  Exception message: BUILD file does not exist at: /Users/zundel/Src/Pants/src/java/com/pants/examples/annotation/exampleTYPO
    referenced from src/java/com/pants/examples/annotation/processor:processor
    referenced from src/java/com/pants/examples/annotation/main:main

Testing Done:
Updated unit tests, ci passed at https://travis-ci.org/pantsbuild/pants/jobs/31812266

Bugs closed: 442

Reviewed at https://rbcommons.com/s/twitter/r/841/
Merge remote-tracking branch 'pants/master' into dx-compile-new

Conflicts:
	src/python/pants/backend/android/register.py
	src/python/pants/backend/android/targets/android_target.py