Otapreopt: Try to mount vendor partition for A/B OTA

Vendor apps are usually not preopted, so A/B dexopt should pick
them up. update_engine is not mounting the vendor partition, so
let otapreopt_chroot do the work.

Bug: 25612095
Bug: 29498238
Change-Id: I5a77bdb78a8e478ce10f6c1d0f911a8d6686becb
(cherry picked from commit 0ba073ce81fbe544592e0a3cd526b274e83fdf9f)
diff --git a/cmds/installd/commands.cpp b/cmds/installd/commands.cpp
index 64afd96..95451bf 100644
--- a/cmds/installd/commands.cpp
+++ b/cmds/installd/commands.cpp
@@ -44,6 +44,7 @@
 
 #include <globals.h>
 #include <installd_deps.h>
+#include <otapreopt_utils.h>
 #include <utils.h>
 
 #ifndef LOG_TAG
@@ -2124,10 +2125,7 @@
         }
         slot_suffix = buf;
 
-        // Validate.
-        std::regex slot_suffix_regex("[a-zA-Z0-9_]+");
-        std::smatch slot_suffix_match;
-        if (!std::regex_match(slot_suffix, slot_suffix_match, slot_suffix_regex)) {
+        if (!ValidateTargetSlotSuffix(slot_suffix)) {
             LOG(ERROR) << "Target slot suffix not legal: " << slot_suffix;
             return -1;
         }