Add project annotation handling to repo

Allow the optional addition of "annotation" nodes nested under
projects.  Each annotation node must have "name" and "value"
attributes.  These name/value pairs will be exported into the
environment during any forall command, prefixed with "REPO__"

In addition, an optional "keep" attribute with case insensitive "true"
or "false" values can be included to determine whether the annotation
will be exported with 'repo manifest'

Change-Id: Icd7540afaae02c958f769ce3d25661aa721a9de8
Signed-off-by: James W. Mills 
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index a7bb156..e5f5ee1 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -43,12 +43,17 @@
     
     
   
-    
+    
     
     
     
     
     
+
+    
+    
+    
+    
   
     
     
@@ -163,6 +168,17 @@
 whitespace or comma separated.  All projects are part of the group
 "default" unless "-default" is specified in the list of groups.
 
+Element annotation
+------------------
+
+Zero or more annotation elements may be specified as children of a
+project element. Each element describes a name-value pair that will be
+exported into each project's environment during a 'forall' command,
+prefixed with REPO__.  In addition, there is an optional attribute
+"keep" which accepts the case insensitive values "true" (default) or
+"false".  This attribute determines whether or not the annotation will
+be kept when exported with the manifest subcommand.
+
 Element remove-project
 ----------------------