Complete direct, static & virtual invoke

Reworked direct/static invoke to use code_and_method_ structure.  Removed
slow/fast path distinction for direct/static (because there is only
a single path).  Added fast and reworked slow path for virtual invokes.

Change-Id: I037aee26b63244d03ac2bd8720d8c55e256b9b4d
diff --git a/test/IntMath/IntMath.java b/test/IntMath/IntMath.java
index 0d52ffc..05cecce 100644
--- a/test/IntMath/IntMath.java
+++ b/test/IntMath/IntMath.java
@@ -23,6 +23,15 @@
         foo_ = 123;
     }
 
+    static int constClassTest(int x) {
+        Class c = String.class;
+        if (c != null) {
+           return x * 2;
+        } else {
+           return x;
+       }
+    }
+
     static int constStringTest(int x) {
         /* TODO: flesh this test out when we can call string library */
         String str = "Hello World!";