Primarily, added a sequential state machine for the most common worker execute request.
Other changes:
+ Track generating state on all events, and generating request on requests.
+ Make it possible to obtain history of event.
+ Force all states & state machines to have names for debugging purposes.
+ Switch EventStateMachine from single stack to multiple stacks keyed on Request.
  The stack for responses is found by following the causal chain until a match is found.
  Remove synchronization.
+ Wrap Request+state stack into a new class.
+ Add some error reporting around event state machine stack errors.
+ Allow SequentialState to iterate through steps without handing control back
  to the containing EventStateMachine if there are no events to dispatch.
+ Switch around the worker state machines: each WorkerRequest now has it's own state
  machine (or will, when all are migrated), which is kicked off via an event containing
  the result consumer & worker.