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/
Sync of https://github.com/pantsbuild/pants/commit/1dda3a05a832569ea6a5ed9ff5056947ab181b99