Change groups to a flat iterable.

The groups should be dynamically generated from the list of group
parsers instantiated.
Add parameter addition to Parameters.

We need to provide an interface to our users to add a parameters;
othwerise, what's the point?  This sets up the basics required when
adding a parameter for basic bookkeeping.  It also initializes the
argument parser(s) involved and ensures that we know what parameters
we're looking for.