Continuing development

Changed Verbosity Level to a bitmask to allow more control over output
messages.

Added the concept of a command modifier.   Commands generally take the
form of <noun><verb><modifier> <argument>.  For example, NV 1 sets the
Navigator's message mask to 1; NV+ 1 adds the 1 bit to the existing
message mask; NV- 1 removes the 1 bit.

Added the 'Q' command to the common commands handled by the Actor base
class.  This is to be used to Query current parameters of each Actor.
Common values, such as enablement and verbosity, are handled by the
Actor base class.  Specific values are handled by the derived class.
Continuing development

Minor refactoring.

Added support for Q command.

Added CSV output controlled by message mask (verbosity).

Changed MotorParams to ControlParams to reflect the fact that it could
carry more than just throttle settings.  At this point, it also holds
the state for the CSV state machine.

Added accessors to the ControlParams class.
Continuing development

Minor changes.
Continuing development

Added support for CSV output, including macros for testing verbosity
mask and printing CSV headings and values, plus definitions for Message
Mask (verbosity) bits.
Continuing development

Changes to improve heading calculations and waypoint tracking.

CSV output.
Continuing development

Changed waypoint collection from a linked list to an array.

Changed waypoint definition; instead of _heading, waypoint now specifies
a tolerance radius.