Subzero. Refactoring.

This is the first step towards hiding backend-specific stuff from the
rest of subzero. In this CL, all the references to target-specific files
(e.g., IceTargetLoweringX8632.h) are removed from target-independent
files.

This CL also changes the named constructors in the Target-specific
classes (e.g., TargetX8632::create()) to return unique_ptrs.

BUG=
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/1551633002 .
diff --git a/src/IceTargetLoweringARM32.cpp b/src/IceTargetLoweringARM32.cpp
index 6753c81..d83530d 100644
--- a/src/IceTargetLoweringARM32.cpp
+++ b/src/IceTargetLoweringARM32.cpp
@@ -35,6 +35,24 @@
 #include <array>
 #include <utility>
 
+namespace ARM32 {
+std::unique_ptr<::Ice::TargetLowering> createTargetLowering(::Ice::Cfg *Func) {
+  return ::Ice::TargetARM32::create(Func);
+}
+
+std::unique_ptr<::Ice::TargetDataLowering>
+createTargetDataLowering(::Ice::GlobalContext *Ctx) {
+  return ::Ice::TargetDataARM32::create(Ctx);
+}
+
+std::unique_ptr<::Ice::TargetHeaderLowering>
+createTargetHeaderLowering(::Ice::GlobalContext *Ctx) {
+  return ::Ice::TargetHeaderARM32::create(Ctx);
+}
+
+void staticInit() { ::Ice::TargetARM32::staticInit(); }
+} // end of namespace ARM32
+
 namespace Ice {
 
 namespace {