fix JNI local leak in async method calls

 - fixed JNI local leak in async method calls
 - convert async operations to using node's MakeCallback helper. Immediately, this gives us stack traces on exceptions inside of node-java callbacks. In the future, I'd like to properly support node's domain concept.
 - added JVM destruction to `Java` object destructor. I added this while trying to isolate the leaks, seemed like a sane enough of a feature to have in general.
 - bumped version to 0.2.6