Various improvements to interpreter.

- Created separate Next_xxx methods to get the next instruction to
  avoid having to look up the size based on the opcode.
- Moved exception handling to after throwing instructions only.
- Added a test of all thread flags before checking for suspend during
  the interpreter execute loop.
- Made it unlikely that instrumentation has dex pc listeners for
  DexPcMovedEvent.

Change-Id: I88afc98cf42f2e36c747582df8e74669d24ef864
diff --git a/src/thread.h b/src/thread.h
index f642d56..24987cd 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -563,6 +563,10 @@
     return (state_and_flags_.as_struct.flags & flag) != 0;
   }
 
+  bool TestAllFlags() const {
+    return (state_and_flags_.as_struct.flags != 0);
+  }
+
   void AtomicSetFlag(ThreadFlag flag);
 
   void AtomicClearFlag(ThreadFlag flag);