Implement native method return value and upcall argument type checking.

Also clean up the CheckJNI testing a bit. I still need to do some work so that
JniAbort catches more of the detail, but this is a step forward.

Change-Id: Ibf5e32867d56123cff902ebf602406b731f567d2
diff --git a/src/check_jni.cc b/src/check_jni.cc
index 67b1c3e..1b28dd5 100644
--- a/src/check_jni.cc
+++ b/src/check_jni.cc
@@ -52,7 +52,7 @@
 
   JavaVMExt* vm = Runtime::Current()->GetJavaVM();
   if (vm->check_jni_abort_hook != NULL) {
-    vm->check_jni_abort_hook(os.str());
+    vm->check_jni_abort_hook(vm->check_jni_abort_hook_data, os.str());
   } else {
     self->SetState(Thread::kNative); // Ensure that we get a native stack trace for this thread.
     LOG(FATAL) << os.str();