Introduce base::PageAllocator to wrap mmap

Gets rid of the various posix_memalign hacks accumulated so far.
Also moves the pre-existing IsMmaped function into
base/vm_test_utils.h.

Change-Id: I171dc2dc01c4b69f4f711a4923a1a58c75431df6
diff --git a/Android.bp b/Android.bp
index 9b815dd..75dd1c3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -571,6 +571,7 @@
     ":perfetto_protos_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/base/android_task_runner.cc",
+    "src/base/page_allocator.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
     "src/ftrace_reader/cpu_reader.cc",
@@ -639,6 +640,7 @@
     ":perfetto_protos_zero_gen",
     ":perfetto_src_ipc_wire_protocol_gen",
     "src/base/android_task_runner.cc",
+    "src/base/page_allocator.cc",
     "src/base/thread_checker.cc",
     "src/base/unix_task_runner.cc",
     "src/ipc/buffered_frame_deserializer.cc",
@@ -707,9 +709,12 @@
     ":perfetto_src_protozero_testing_messages_lite_gen",
     ":perfetto_src_protozero_testing_messages_zero_gen",
     "src/base/android_task_runner.cc",
+    "src/base/page_allocator.cc",
+    "src/base/page_allocator_unittest.cc",
     "src/base/scoped_file_unittest.cc",
     "src/base/task_runner_unittest.cc",
     "src/base/test/test_task_runner.cc",
+    "src/base/test/vm_test_utils.cc",
     "src/base/thread_checker.cc",
     "src/base/thread_checker_unittest.cc",
     "src/base/unix_task_runner.cc",