Prepare Flags for Overhaul

Two independent changes: Emit formatted flags as lists, and extract validation to its own domain type.

To better manage the overhaul of how the garbage collection strategy selection and such is handled, we need to simplify the flag representation even further.  Without doing this, we make a bigger mess for ourselves.  The simplifications allow us to start dropping the one-off treatment of argument formation in ``CommandLine`` and rely on ``JvmFlag`` for a naive search space.  This is to say, if we want to support semantically incorrect search space generation, then we need to enable to code to do so easily.

@etheon, this will need some careful consideration.