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/trace.cc b/src/trace.cc
index f04b1db..7b3cea8 100644
--- a/src/trace.cc
+++ b/src/trace.cc
@@ -18,6 +18,7 @@
 
 #include <sys/uio.h>
 
+#include "base/unix_file/fd_file.h"
 #include "class_linker.h"
 #include "debugger.h"
 #include "dex_cache.h"
@@ -179,7 +180,8 @@
     if (trace_fd < 0) {
       trace_file = OS::OpenFile(trace_filename, true);
     } else {
-      trace_file = OS::FileFromFd("tracefile", trace_fd);
+      trace_file = new File(trace_fd, "tracefile");
+      trace_file->DisableAutoClose();
     }
     if (trace_file == NULL) {
       PLOG(ERROR) << "Unable to open trace file '" << trace_filename << "'";