Prepare a release for pantsbuild.pants 0.0.27.

This pulls in a bugfix for python thrift generation.

Testing Done:
Release dry run was good:
```console
$ ./build-support/bin/release.sh -n
```

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

Bugs closed: 877

Reviewed at https://rbcommons.com/s/twitter/r/1518/
Remove an unneeded old_options use in a test.

Also fix some related missing deps.

Testing Done:
Ran the unit test and fixed dep issues until it passed.

Reviewed at https://rbcommons.com/s/twitter/r/1522/
Reimplement the jvm tool registration mechanism via the options system.

Instead of reaching in to config directly, the tool registration simply
registers an appropriately-named option, and then registers the fact
that this option is in fact a jvm tool.

The option value is a list of specs. We set sensible defaults in the code,
which are specs in a root-level BUILD.tools file.

There's one slight quirk, which is that we must the register function into
our calls to register_jvm_tool(). This is because the JvmToolTaskMixin can't
have its own register_options() method (because it comes after TaskBase
in the mro, and chained super-calls to register_options() stop at TaskBase).

NOTE: This is a larger change that I would have liked, but it's pretty easy to review, as almost every file it touches is made simpler.

Testing Done:
CI passed other than one unrelated unittest failure. Another one baking, just in case.
Doing some ongoing manual testing to see that options work.

Reviewed at https://rbcommons.com/s/twitter/r/1521/
Use Travis CIs new container based builds.

The announcement is here: http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
The specs here: http://docs.travis-ci.com/user/workers/container-based-infrastructure/

This should provide throughput benefits immediately, but even if a wash, it sets the stage for leveraging caching for
quicker and more stable builds: http://docs.travis-ci.com/user/caching/

Testing Done:
CI went green quickly here: https://travis-ci.org/pantsbuild/pants/builds/44617837

Bugs closed: 881

Reviewed at https://rbcommons.com/s/twitter/r/1523/
s/new_options/options/g

There are no 'old options' any more.

Testing Done:
unit and integration tests pass locally. Full CI baking.

Reviewed at https://rbcommons.com/s/twitter/r/1527/
LazySourceMapper and tests

A LazySourceMapper attempts to find targets which own sources without
loading any more than is needed and caches its results.

This is intended for use in tasks like what-changed or (in the future)
goals which discover target to act on (eg 'compile-changed') or other
uses cases which want to map a source file to a target as cheaply as possible.

Integration into what-changed will be a follow-up if/when this lands.

Testing Done:
./pants goal test tests/python/pants_test/base:lazy_source_mapper
https://travis-ci.org/pantsbuild/pants/builds/44622933

Bugs closed: 882

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