Refine groups functionality

Every project is in group "default".  "-default" does not remove
it from this project.  All group names specified in the manifest
are positive names as opposed to a mix of negative and positive.

Specified groups are resolved in order.  If init is supplied with
--groups="group1,-group2", the following describes the project
selection when syncing:

  * all projects in "group1" will be added, and
  * all projects in "group2" will be removed.

Change-Id: I1df3dcdb64bbd4cd80d675f9b2d3becbf721f661
diff --git a/docs/manifest-format.txt b/docs/manifest-format.txt
index e5f5ee1..764e41e 100644
--- a/docs/manifest-format.txt
+++ b/docs/manifest-format.txt
@@ -165,8 +165,8 @@
 the default element is used.
 
 Attribute `groups`: List of groups to which this project belongs,
-whitespace or comma separated.  All projects are part of the group
-"default" unless "-default" is specified in the list of groups.
+whitespace or comma separated.  All projects belong to the group
+"default".
 
 Element annotation
 ------------------