Move most of runtime/base to libartbase/base

Enforce the layering that code in runtime/base should not depend on
runtime by separating it into libartbase.  Some of the code in
runtime/base depends on the Runtime class, so it cannot be moved yet.
Also, some of the tests depend on CommonRuntimeTest, which itself needs
to be factored (in a subsequent CL).

Bug: 22322814
Test: make -j 50 checkbuild
      make -j 50 test-art-host

Change-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2
diff --git a/profman/profman.cc b/profman/profman.cc
index 5551c34..d1cc563 100644
--- a/profman/profman.cc
+++ b/profman/profman.cc
@@ -34,10 +34,12 @@
 
 #include "base/dumpable.h"
 #include "base/logging.h"  // For InitLogging.
+#include "base/mutex.h"
 #include "base/scoped_flock.h"
 #include "base/stringpiece.h"
 #include "base/time_utils.h"
 #include "base/unix_file/fd_file.h"
+#include "base/utils.h"
 #include "boot_image_profile.h"
 #include "bytecode_utils.h"
 #include "dex/art_dex_file_loader.h"
@@ -49,7 +51,6 @@
 #include "profile_assistant.h"
 #include "runtime.h"
 #include "type_reference.h"
-#include "utils.h"
 #include "zip_archive.h"
 
 namespace art {
@@ -204,6 +205,7 @@
     original_argc = argc;
     original_argv = argv;
 
+    Locks::Init();
     InitLogging(argv, Runtime::Abort);
 
     // Skip over the command name.