restructure data storage

This changes the structure of saved step data to allow managing it for further features, like #116.
With the old way, it was not easily possible to analyze the stored data from outside a flow. Now, by adding some metadata, it's possible to scan for flows and their instances, or to drop data of all flows.

BC break: The new structure is incompatible to the old one, thus currently running flows will appear being reset. At first I planned to add a migration mechanism, but because a custom `$stepDataKey` could have been set for each flow, I dropped that idea.