Register Event and State properties with the StateMachine using Reflection

This change will automatically register State and Event properties of state machines that extend the AutomatonymousStateMachine<> class, removing the need for the implementor to manually do so. This part of creating the state machine seemed cumbersome, so I thought to remove that little bit of friction.

Please note this changes the interface for this type; the individual methods to register states and events were removed, and the method to register a composable event was altered.