Add state, state_machine, pda
Move shared exceptions to their own module.
Beef up class State with transition methods.
Remove transition map.

The states themselves own the transitions.
Add notifications for state entry and exit.
Add explicit state registration.

This is via StateMachine.add_state().  This supports easier runtime
state addition.
Remove unneeded default exception clause.
Add Backtracking mix-in class.
Merge README.md generated by GitHub.
Upate README.md.