Tests for upcoming _get_response changes
Major refactoring in progress, see commit notes

* state_dict is now parsed non-destructively, creating new state instances.
* State.states after parsing is always a list of states, dict not used
  for State.states anymore, only for trans_dict
* removed CompositeState, State is used for all state types, differentiated
  by state.kind property
* HSM current state is now a set, needs to be able to reside in multiple
  states due to orthogonal regions (TODO to be implemented)
* _get_children removed (not needed)
* state names are now tuples so that submachines' states can be assigned with
  unique names (parent container state name is added as prefix)
* State takes actions as arguments along with class methods
* State has __eq__ for comparing two instances
* _reformat (formerly _rename) function too complex (TODO revisit)

test_helper_functions_structural is passing, rest are failing