scratch work (state_machine.hpp) towards using boost::msm in lieu of hardcoded boilerplate hell; modifications in the other files are leftovers from the foray into the hardcoded boilerplate hell.