aconfig: allow dots in package fields

Allow package fields to include dots.

Update the generated code based on the package name: if the package name
is com.android.example:

  - java: package com.android.example; ...
  - C++: namespace com::android::example { ... }
  - Rust: mod com { mod android { mod example { ... } } }

Also, update examples to use dots in the package fields.

Also, remove unnecessary #include from the auto-generated C++ code: the
header should not include itself.

Bug: 285000854
Test: atest aconfig.test
Change-Id: I8a5352e25c64c34dee0725202a1b7c9957819de8
diff --git a/tools/aconfig/src/test.rs b/tools/aconfig/src/test.rs
index 621381a..21ef74d 100644
--- a/tools/aconfig/src/test.rs
+++ b/tools/aconfig/src/test.rs
@@ -21,7 +21,7 @@
 
     pub fn create_cache() -> Cache {
         crate::commands::create_cache(
-            "test",
+            "com.android.aconfig.test",
             vec![Input {
                 source: Source::File("testdata/test.aconfig".to_string()),
                 reader: Box::new(include_bytes!("../testdata/test.aconfig").as_slice()),