Step events

@pitr-ch  Taking the #59 to this repo so that we can work on that together. I've renamed the SuspendedStepsManager to RunningStepsManager and made that managing the step before it's run: this way we can handle even the events that occur before the step is transitioned into suspended state. (I've hit issues when testing it with plan running 300+ system commands concurrently.