Switch over to the google3 unix_file File*.

I also moved macros.h to base/macros.h to ease google3 porting, at
the expense of a larger than necessary change. (I learned my lesson,
though, and didn't make the equivalent base/logging.h change.)

I'm not sure whether we want to keep the unix_file MappedFile given
our existing MemMap, but it's easier to bring it over and then remove
it (and possibly revert the removal) than to bring it over later.

Change-Id: Id50a66faa5ab17b9bc936cc9043dbc26f791f0ca
diff --git a/src/gc/space.cc b/src/gc/space.cc
index 8595dd0..27f78cc 100644
--- a/src/gc/space.cc
+++ b/src/gc/space.cc
@@ -17,8 +17,8 @@
 #include "space.h"
 
 #include "UniquePtr.h"
+#include "base/unix_file/fd_file.h"
 #include "dlmalloc.h"
-#include "file.h"
 #include "image.h"
 #include "logging.h"
 #include "os.h"
@@ -485,7 +485,7 @@
     return NULL;
   }
   UniquePtr<MemMap> map(MemMap::MapFileAtAddress(image_header.GetImageBegin(),
-                                                 file->Length(),
+                                                 file->GetLength(),
                                                  // TODO: selectively PROT_EXEC stubs
                                                  PROT_READ | PROT_WRITE | PROT_EXEC,
                                                  MAP_PRIVATE | MAP_FIXED,