Add check for hidl package root hash.

When compiling a module, say foo.bar.baz@1.0::IBaz, assume the package
root is foo.bar:some/dir/interfaces, then:
- look at the file some/dir/interfaces/current.txt
- read hash from file corresponding from foo.bar.baz@1.0::IBaz
- file supports same-line comments with '#'
- format of file is each line is blank or looks like:
    "<sha-256 hash> <fqName>"
- if the file is misformed or the hal does not match a sha in that file,
    then it is considered build breakage.

Test: build with and without changing frozen files
Bug: 34178341
Merged-In: Ieddbc796ea974ac7c2e8b95ca69009c31e0cfb60
Change-Id: Ieddbc796ea974ac7c2e8b95ca69009c31e0cfb60
diff --git a/Coordinator.h b/Coordinator.h
index ddf5dfa..9f75d46 100644
--- a/Coordinator.h
+++ b/Coordinator.h
@@ -92,6 +92,7 @@
     // Enforce a set of restrictions on a set of packages. These include:
     //    - minor version upgrades
     // "packages" contains names like "android.hardware.nfc@1.1".
+    //    - hashing restrictions
     status_t enforceRestrictionsOnPackage(const FQName &fqName);
 
     static bool MakeParentHierarchy(const std::string &path);
@@ -117,6 +118,7 @@
 
     // Rules of enforceRestrictionsOnPackage are listed below.
     status_t enforceMinorVersionUprevs(const FQName &fqName);
+    status_t enforceHashes(const FQName &fqName);
 
     DISALLOW_COPY_AND_ASSIGN(Coordinator);
 };