Implement enough JDWP functionality that we can attach jdb.

You can also try "classes" and "classpath", though anything else
deadlocks because we're suspended but jdb thinks we aren't. I don't
think that's a new bug with this patch, though, so I'll look at that
next.

Change-Id: I54456b6a7fe72642be696c66aa485dc0c8a7f913
diff --git a/src/class_linker.h b/src/class_linker.h
index 478a260..5032d9f 100644
--- a/src/class_linker.h
+++ b/src/class_linker.h
@@ -40,6 +40,8 @@
 class InternTable;
 class ObjectLock;
 
+typedef bool (ClassVisitor)(Class* c, void* arg);
+
 class ClassLinker {
  public:
   // Creates the class linker by boot strapping from dex files.
@@ -205,6 +207,8 @@
     return boot_class_path_;
   }
 
+  void VisitClasses(ClassVisitor* visitor, void* arg) const;
+
   void VisitRoots(Heap::RootVisitor* visitor, void* arg) const;
 
   const DexFile& FindDexFile(const DexCache* dex_cache) const;