assorted changes

 * move JavaObject::m_obj global reference to constructor to match destructor
 * call getCause on InvocationTargetExceptions thrown by Method::invoke to get to the actual exception. There are actually a few other types of exceptions that _could_ be thrown (http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html#invoke(java.lang.Object, java.lang.Object...)) but it seems based on our usage of `javaFindMethod` that this shouldn't usually happen (worst case would be that getCause returns null in these cases I believe).
 * added instanceof method. Combining this with the above change makes it easy to check exception types in callbacks.
 * added newLong method