Enhanced JVM search methods for Linux

- JAVA_HOME
- java bin
- known locations, without predefined version in the name
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.
Git: ignore setuptools folders
setup.py: Use setuptools if available