Data structures and State Machine rework

/putchar/ public to facilitate testing & simulation.
Bitfields for msg type and decimal removed: a little faster vs. 1 byte
RAM.
/negative/ flag moved from altitude to class: only necessary during
parsing.
Removed one rxState: command now treated like 0th field.
Heading, Altitude and Speed consolidated into one type: one parsing
method and faster math vs. 2 bytes RAM.  Bug fix for Speed (ignored part
before '.')
Allow comma to be seen by parsers: allows end-of-field handling
(technically an FSM exit-state handler), and some parsers need to ignore
it now.
/parseField/ now uses 'goto' (gasp) to consolidate common fields among
sentences.  Saved about 50 bytes PROGMEM.  Easier to add new sentences,
too.  The technique of msg type/field/goto is quicker than multiple
switch cases per field type: at most two switch tests and a goto will be
executed for each character, vs. numerous tests for multiple switch
cases.
/parseFix/ consolidated for all status/mode fields.