New JVM installation finder architecture

* Module methods replaced by classes, allowing to share some code.
* On all systems, the JAVA_HOME installation is the preferred one.
* On Mac OS X, the Java installation is searched as in Linux
  (as Java 7 has a "normal" folder hierarchy), and the pre-Java 7
  constant path is returned if no other have been found.
* raises JVMNotFoundException, if no available method succeeded