More sorting out of labels.

Language labels ('java', 'scala') don't belong on codegen
targets. They indicate a target that takes sources of that
type and emits classfiles. Whereas the codegen target takes
some other input (proto, thrift) and emits source files.