Separate out more of LLVM build. Move verifier.

Move the verifier to its own directory and break out major components.
Avoid compiling unused files as part of the LLVM build, increase the use
of unimplemented for LLVM.

Change-Id: Icd3b1708363fb70ae99417d06ef8669d60446533
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 423bd72..656032b 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -32,7 +32,6 @@
 #include "debugger.h"
 #include "dex_cache.h"
 #include "dex_file.h"
-#include "dex_verifier.h"
 #include "heap.h"
 #include "intern_table.h"
 #include "leb128.h"
@@ -2058,7 +2057,7 @@
   const DexFile& dex_file = FindDexFile(klass->GetDexCache());
   Class::Status oat_file_class_status(Class::kStatusNotReady);
   bool preverified = VerifyClassUsingOatFile(dex_file, klass, oat_file_class_status);
-  bool verified = preverified || verifier::DexVerifier::VerifyClass(klass, error_msg);
+  bool verified = preverified || verifier::MethodVerifier::VerifyClass(klass, error_msg);
   if (verified) {
     if (!preverified && oat_file_class_status == Class::kStatusError) {
       LOG(FATAL) << "Verification failed hard on class " << PrettyDescriptor(klass)