CA-83837: add 'Watch.has_fired: t -> bool'

This will be useful when watching for several events, and multiple
fire at once. The client code can then use this to apply some
prioritisation, deciding which watch was most important.

For example an already "failed" VBD unplug can suddenly complete.
In this case we'd want to consider it completed rather than failed.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>