Remove permission library

Replace @Enforce annotation with @EnforcePermission. Remove the new
expression syntax (e.g., "permission = INTERNET") in favour of an
annotation-only syntax similar to the current @RequiresPermission
annotation:

  @EnforcePermission(anyOf={"INTERNET", "READ_PHONE_STATE"})
  void MyAidlMethod();

The Java generator is simplified as nested conditions are not supported
anymore.

Rename @NoPermissionRequired to @RequiresNoPermission to match the
existing Java annotation.

Bug: 197828948
Test: atest --host aidl_unittests
Change-Id: Ia82e81958b050836082ca7527456a99c9422857a
diff --git a/aidl_language.h b/aidl_language.h
index 7d8f625..bf9322b 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -34,7 +34,7 @@
 #include "location.h"
 #include "logging.h"
 #include "options.h"
-#include "permission/parser.h"
+#include "permission.h"
 
 using android::aidl::AidlTypenames;
 using android::aidl::CodeWriter;
@@ -289,7 +289,7 @@
   void TraverseChildren(std::function<void(const AidlNode&)> traverse) const override;
   void DispatchVisit(AidlVisitor& v) const override { v.Visit(*this); }
 
-  Result<unique_ptr<perm::Expression>> EnforceExpression() const;
+  Result<unique_ptr<android::aidl::perm::Expression>> EnforceExpression() const;
 
  private:
   struct ParamType {
@@ -360,7 +360,7 @@
   const AidlAnnotation* RustDerive() const;
   const AidlAnnotation* BackingType() const;
   std::vector<std::string> SuppressWarnings() const;
-  std::unique_ptr<perm::Expression> EnforceExpression() const;
+  std::unique_ptr<android::aidl::perm::Expression> EnforceExpression() const;
   bool IsPermissionManual() const;
   bool IsPermissionNone() const;