Instead of defaulting task-related knobs for JavaThriftLibrary, pull the defaulting into a Task helper.

This solves half the problem of the JavaThriftLibrary target knowing about the Tasks that use it.
In particular it solves acute pain on the default value side and allows a whole repo to configure
a non-standard default compiler, target language or target rpc_style.

Also re-name ThriftGen to the more accurate ApacheThriftGen.
Finally - restore ScroogeGen's use of the _validate helper - this
was lost in the final Twitter -> OSS merge.