Rename _StateRecord.data -> .state_dict.
Add convenience transition test

always_transition() always returns True.
Fix tracking of states derived from 'state'.

Previously only attributes of type 'state' were tracked.  Now attributes
derived from 'state' are tracked.  This allows deriving new state
decorators.
Breakout StateMachine._do_transition.

This will allow derived classes to force state transitions.
Rework of PDA implementation.

The main benefit of this work is that the PDA can be statically
analyzed.  The entire PDA machine can be understood by analyzing the
state records.

Added new state decorators 'push_state' and 'pop_state'.
Add missing super-messages.