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.

Fixes soundcloud/bazooka#84