Add the ability to soft_reset a workflow.

In cases where it is not desired to reset the whole state
of the workflow, but only to soft_reset it so that it can
be easily resumed from a interrupted state (for example).
This change allows for that to happen, which involves also
keeping track of the last task that ran so when resumed via
soft_reset that task can be the one started off from (instead
of starting from the start of all tasks).

Change-Id: I034bd6af6445e3da52356328605368319c4ff6f9
Merge "Add the ability to soft_reset a workflow."
tests

Change-Id: I92fbe0569e669fc5faab1727645c2ba556afa90d
Merge branch 'master' of github.com:stackforge/taskflow into distributed
Distributed now taskflow compliant

Change-Id: Icbfe670063d6ae15f4f981a98b79a39bd27e9205