track pending activity tasks with StateMarkers

Automatic task tracking makes it easier for deciders to retrieve information
about pending tasks when handling events related to ActivityTasks (e.g.:
EventTypeActivityTaskCompleted, EventTypeActivityTaskFailed, etc.).

Deciders can now call FSMContext.ActivityType(lastEvent) to get information
about pending activity tasks.

Pending tasks are automatically cleared when finished (completed, failed,
timed out, etc.).