assorted changes

1. call getCause on exceptions thrown by Method::invoke to get to the actual exception. This is meant to target InvocationTargetExceptions exceptions, but 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,%20java.lang.Object...) but it seems based on our usage of `javaFindMethod` that this shouldn't usually happen
2. added instanceof method. Combining this with the above change makes it easy to check exception types in callbacks.
3. added newLong method
4. move JavaObject::m_obj global reference to constructor to match destructor