aconfig: restrict valid namespace and flag names

The namespace and flag names will be used as identifiers in the
auto-generated code. Place restrictions on what constitutes a valid
name.

Valid identifiers are those that match /[a-z][a-z0-9_]/. aconfig
explicitly does not implement any automatic translation to make names
valid identifiers: this sidesteps potential conflicts such as "foo.bar"
and "foo_bar" mapping to the same name if dots were translated to
underscores.

Bug: b/284252015
Test: atest aconfig.test
Change-Id: I38d005a74311e5829e540063404d1565071e6e96
diff --git a/tools/aconfig/testdata/first.values b/tools/aconfig/testdata/first.values
index e6017fe..3c49111 100644
--- a/tools/aconfig/testdata/first.values
+++ b/tools/aconfig/testdata/first.values
@@ -1,18 +1,18 @@
 flag_value {
     namespace: "test"
-    name: "disabled-ro"
+    name: "disabled_ro"
     state: DISABLED
     permission: READ_ONLY
 }
 flag_value {
     namespace: "test"
-    name: "enabled-ro"
+    name: "enabled_ro"
     state: DISABLED
     permission: READ_WRITE
 }
 flag_value {
     namespace: "test"
-    name: "enabled-rw"
+    name: "enabled_rw"
     state: ENABLED
     permission: READ_WRITE
 }