Handle cleanup for workflow timeouts

@Anjula_Paulus

As the linked post (Recommended way for running cleanup activity on workflow timeout) states, do not rely on workflowTimeout to deal with business logic, use a timer instead.

Your workflow code won’t throw any exception when the workflow execution is timed-out.

Workflow.await returns false if the timeout is reached.