SimpleWorkflow service invalidate cache on stale entity - EUCA-10029
SimpleWorkflow service local workflow locking - EUCA-10029

A workflow lock is added to ensure that locally we are not attempting to
update a workflow execution concurrently. It is expected that other
hosts will attempt concurrent updates and cause optimistic locking
errors. When this occurs the local lock ensures the cache eviction of
stale data occurs prior to the next workflow execution update attempt,
which prevents updates being lost.

EUCA-10029
Merge remote-tracking branch 'origin/dev/sjones/EUCA-10029' into testing