Introduce done state for instances

With this change the ticket metaphor is complete by knowing a done state. Which can be used to verify that the lifecycle of a ticket is complete.

As reported in soundcloud/bazooka#84 there is the possibility that a ticket is worked on twice, if there is delay between claimers in the order of seconds. This leads to corruption of the tree in the datastore and breaks important interfaces. To avoid this a claim is only successfull if the instance is not to be found in the done lookup path of the proc.

/rfr @bernerdschaefer @grobie @typingduck