`vouch_ready` is a prometheus metric that is `0` if Vouch is not yet
ready to validate, and `1` if it is.
`vouch_release` has a labeled value `version` that contains the release
version of Vouch.
When a chain reorganisation occurs it is possible that this impacts
Vouch's attestations and proposals for the current and next epoch. This
patch listens to the Ethereum 2 events stream for reorganisation
notifications. If it finds one it cancels existing and creates new
duties, as required.
go-eth2-client was missing some defensive checks for server-sent events.
This upgrades to a newer version of go-eth2-client that provides these
checks, giving resiliency in situations where beacon nodes send
malformed or otherwise incorrect messages.
Fixes#10