defer state serialization to the kinesis replication

This will allow us to save state data as RecordMarkers that does not necessarily
need to be replicated onto Kinesis streams.

Bonus: tests!
add acvitityID to correlation info
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.).
Merge pull request #54 from fabiokung/activity-tracking

Automatic ActivityTask tracking
Merge pull request #53 from sclasen/more-activity-correlation

add acvitityID to correlation info
fix blood after merging ActivityInfo stuff
add a way to get all the activities for a workflow
fmt
make correlation work when an activity is cancelled