Ability to add custom JVM locations

This patch allows the user to specify custom JVM locations,
and even limit them to specific platforms.
Merge pull request #5 from kilburn/master

Refactoring and new features.