Ensure that we don't create a forwarding cycle.

Testing Done:
ci.sh passed.

Reviewed at https://rbcommons.com/s/twitter/r/1124/
Filter out None scopes, to avoid trouble later.

I'm not sure why we have tasks with no set scope, but we've seen
this with custom tasks at Foursqare. Will figure that out later.

Testing Done:
Running ci.

Reviewed at https://rbcommons.com/s/twitter/r/1125/
Merge branch 'master' into find_factory
Migrate all jvm compilation options to the new registration style.

Testing Done:
CI passed. Manual verification that flags still work.

Reviewed at https://rbcommons.com/s/twitter/r/1127/
Merge branch 'master' into find_factory, is this why coveralls thinks jvm_compile.py's coverage went down with my change that didn't touch it?!?