Move super class verification to class linker

Verify super classes in the class linker and chain exceptions when super
class verification fails. Add support for dumping chained exceptions to
Throwable::Dump. Improve verifier error detail messages.

Fixes problem where super class verification would leave a pending
exception that would be tripped over elsewhere.

Change-Id: I3ca850fc66674c8601132d7ec40bebbf9c108ae3
diff --git a/src/object.h b/src/object.h
index 1841042..e9556ef 100644
--- a/src/object.h
+++ b/src/object.h
@@ -2273,6 +2273,10 @@
   }
   std::string Dump() const;
 
+  // This is a runtime version of initCause, you shouldn't use it if initCause may have been
+  // overridden. Also it asserts rather than throwing exceptions. Currently this is only used
+  // in cases like the verifier where the checks cannot fail and initCause isn't overridden.
+  void SetCause(Throwable* cause);
   bool IsCheckedException() const;
  private:
   Object* GetStackState() const {