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/test/MyClassNatives/MyClassNatives.java b/test/MyClassNatives/MyClassNatives.java
index 4987373..9a03999 100644
--- a/test/MyClassNatives/MyClassNatives.java
+++ b/test/MyClassNatives/MyClassNatives.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-class MyClass {
+class MyClassNatives {
     native void throwException();
     native void foo();
     native int bar(int count);
@@ -32,4 +32,10 @@
     static native void arraycopy(Object src, int src_pos, Object dst, int dst_pos, int length);
     native boolean compareAndSwapInt(Object obj, long offset, int expected, int newval);
     static native int getText(long val1, Object obj1, long val2, Object obj2);
-}
+
+    native Class instanceMethodThatShouldReturnClass();
+    static native Class staticMethodThatShouldReturnClass();
+
+    native void instanceMethodThatShouldTakeClass(int i, Class c);
+    static native void staticMethodThatShouldTakeClass(int i, Class c);
+  }