Fix missing standard file headers.

Also fix Utf8HeaderTest so it can be run in isolation. Make it be a
BaseTest since this works around issues with Config.load() in the
current state of the Config cache.

Testing Done:
After the Utf8HeaderTest fix:
```console
$ pants.dev test tests/python/pants_test:test_utf8_header
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/jsirois-pants2/src/python/pants/bin/pants_exe.py ***
...
13:51:13 00:01   [test]
13:51:13 00:01     [run_prep_command]
13:51:13 00:01     [pytest]
13:51:13 00:01       [run]
                     ============== test session starts ===============
                     platform linux2 -- Python 2.7.8 -- py-1.4.26 -- pytest-2.6.4
                     plugins: cov, timeout
                     collected 1 items

                     tests/python/pants_test/test_utf8_header.py .

                     ============ 1 passed in 0.30 seconds ============

13:51:20 00:08     [junit]
13:51:20 00:08     [specs]
               SUCCESS
```

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

Bugs closed: 879

Reviewed at https://rbcommons.com/s/twitter/r/1519/
python doc: "repl" and "setup-py" are goals now, don't use "py". fix 404 link

* rm 'pants py' mentions
* mention `goal repl`, `goal setup-py`
* how to pass args
* show `goal test` in covg section
* fix 404 link
* readability fixes

Testing Done:
rendered at http://pantsbuild.github.io/lahosken-demo/python-readme.html

Bugs closed: 688

Reviewed at https://rbcommons.com/s/twitter/r/1302/
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/