Simplify build dependency handling and add support for Ivy
ContractJavaCompiler should target the highest language version
supported by the runtime, rather than the highest version supported by
the compiler.
Re-enable openjdk javac option passthrough.

The new implementation degrades gracefully if openjdk javac isn't
available.