Add android::fs_mgr namespace for new Fstab code

Also add libfstab dependencies where needed.  Previously the
`typedef struct FstabEntry Volume;` line served to both define a
`struct FstabEntry` as well as alias Volume to it.  With the new
namespace for android::fs_mgr::FstabEntry, `struct FstabEntry` isn't
compatible anymore, so we need to alias Volume to the real
android::fs_mgr::FstabEntry.

In doing so, we need to include <fstab/fstab.h> and this requires
libfstab as a library, which a few modules did not have before.

Test: treehugger
Change-Id: I655209a0efb304b3e0568db0748bd5cf7cecbdb7
diff --git a/roots.cpp b/roots.cpp
index 290be47..7a922b8 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -45,6 +45,10 @@
 #include "otautil/mounts.h"
 #include "otautil/sysutil.h"
 
+using android::fs_mgr::Fstab;
+using android::fs_mgr::FstabEntry;
+using android::fs_mgr::ReadDefaultFstab;
+
 static Fstab fstab;
 
 extern struct selabel_handle* sehandle;
@@ -69,10 +73,7 @@
 }
 
 Volume* volume_for_mount_point(const std::string& mount_point) {
-  auto it = std::find_if(fstab.begin(), fstab.end(), [&mount_point](const auto& entry) {
-    return entry.mount_point == mount_point;
-  });
-  return it == fstab.end() ? nullptr : &*it;
+  return android::fs_mgr::GetEntryForMountPoint(&fstab, mount_point);
 }
 
 // Mount the volume specified by path at the given mount_point.