Optional compilation of the Java RTS, Java backend can generate Executables, Java backend ready for global constants

1. A cabal config variable (NoJava) can be used to control if maven is to be invoked to compile the Java RTS.
It is also available in config.mk. You might want to deactivate it by default for users without Java.
Versioning of the generated .jar file is automatically adapted to the idris version string from cabal.
2. The java backend can no create standalone executables via maven, which eliminates the need for the run_java tests
3. Java is ready to support global constants, if they are introduced some day

Additionally a lot of unnecessary closures were removed from the Java backend, which should greatly improve run- and compiletime performance.