Dogfood bintray for pants support binaries.

Testing Done:
Forced a local re-bootstrap of thrift and protoc:
```console
$ rm -rf ~/.pants.d
$ pants.dev goal clean-all gen testprojects/::
*** Running pants in dev mode from /home/jsirois/dev/3rdparty/jsirois-pants3/src/python/pants/bin/pants_exe.py ***

15:30:59 00:00 [main]
               (To run a reporting server: ./pants goal server)
15:30:59 00:00   [bootstrap]
15:31:00 00:01   [setup]
15:31:00 00:01     [parse] INFO] Attempting to fetch protoc binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/protobuf/linux/x86_64/2.4.1/protoc ...
 INFO] Fetched protoc binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/protobuf/linux/x86_64/2.4.1/protoc .
 INFO] Attempting to fetch thrift binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/thrift/linux/x86_64/0.5.0-finagle/thrift ...
 INFO] Fetched thrift binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/thrift/linux/x86_64/0.5.0-finagle/thrift .

               Executing tasks in goals: clean-all -> bootstrap -> imports -> gen
...
$ ~/.pants.d/bin/protobuf/linux/x86_64/2.4.1/protoc --version
libprotoc 2.4.1
$ ~/.pants.d/bin/thrift/linux/x86_64/0.5.0-finagle/thrift -version
Thrift version 0.5.0
```

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

Bugs closed: 715

Reviewed at https://rbcommons.com/s/twitter/r/1208/
move codegen tasks to new options

Move codegen tasks to new options

Testing Done:
I considered adding integration tests, but for these options, but the expected behavior changes in many cases consist of side effects that are non-trivial to verify (other than thrift-linter).

For "thrift-linter", I ran the "thrift-linter" goal on the various thrift-linter targets in testprojects/. I verified that I could override the "bad-thrift-strict" target using "--no-thrift-linter-strict" and get it to succeed (and vice versa with the "bad-thrift-default" and "bad-thrift-non-strict" targets.

For "gen.scrooge", I ran the "gen" goal on tasks under examples/ and testprojects/. BTW, I could not get any output from the compiler to show up ever. I verified things were working by using the "-ldebug" flag to pants and see that it was indeed adding "--verbose" to the compiler invocation.

For "gen.protoc" and "gen.thrift", I ran the "gen" goal on tasks under testprojects/. I verified that the expected flags were passed to the thrift and proto compilers using the "-ldebug" flag.

Aside: for the "gen.protoc" target, I saw a strange result when indicating "--gen-protoc-lang=python" for a target where Java was actually needed:
  Exception message: 'PythonLibrary' object has no attribute 'jar_dependencies'
But this is unrelated to my change and happens with the code on master, too:
  $ devpants goal gen testprojects/src/protobuf/com/pants/testproject/proto-ordering:protos --gen-protoc-lang=python

Reviewed at https://rbcommons.com/s/twitter/r/1203/
Validate that registered args begin with dashes, as appropriate.

Otherwise we get a cryptic error further along.

Testing Done:
CI baking. Verified that bad registration triggers these validation checks.

Reviewed at https://rbcommons.com/s/twitter/r/1211/
Migrate more tasks, including all android tasks, to new options.

Renamed --vm-options to --jvm-options, for uniformity.

Testing Done:
Manual testing.

CI baking.

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