Support for exception throwing from JNI.

This change modifies the exception throwing JNI unit test to be
realistic and implements the missing exception throwing pieces on X86.
It also corrects some issues on ARM including methods with arguments
LJII (such as compareAndSwapInt).

Change-Id: I375f6efe2edeebb8007d7aa12c10b49742a8f119
diff --git a/src/context_arm.cc b/src/context_arm.cc
index 387b71d..85ada9d 100644
--- a/src/context_arm.cc
+++ b/src/context_arm.cc
@@ -8,9 +8,11 @@
 namespace arm {
 
 ArmContext::ArmContext() {
+#ifndef NDEBUG
   for (int i=0; i < 16; i++) {
-    gprs_[i] = 0xEBAD6070;
+    gprs_[i] = 0xEBAD6070+i;
   }
+#endif
   memset(fprs_, 0, sizeof(fprs_));
 }