Test and refactor graph + a lot more

+ Started out testing and refactoring the graph class
+ Implemented TransitionConfigurationSet which is in charge of keeping track of the mapping between start_state, end_state, event, and transition configurations. 
  + Allowed for removal of StateMapping
+ Had to refactor StateMachine more than anticipated as was getting into infinite call cycles around method_missing. 
   + Simplified method_missing and removed `__sm` from the private methods
+ Started using EndState::Matchers in the tests instead of reaching into the implementation
+ Removed `blocked` configuration as events aren't guaranteed to pertain to only a single TransitionConfiguration

Code Climate [here](https://codeclimate.com/github/charlierudolph/end_state/compare/cr-testAndRefactorGraph). Test Coverage now at 100%
Thanks, this class was pretty much only ever a quick hack. This cleans it up some and of course gets it to work with the previous refactoring changes.