Specification imports for phase0 were aliased as 'spec'. Due to the
mechanism decided upon to manage structs that vary beteween hard forks
this is no longer useful, so this removes the alias in preparation for
the Altair hard fork.
Accounts and distributed accounts were bundled up together for signing.
This was non-optimal, as they have different requirements (single shot
Vs. distributed threshold). This separates them in to two groups, and
signs them as separate sets of requests.
If a validator is due to propose a block but cannot obtain the RANDO
reveal it causes Vouch to crash. This change checks for an empty RANDAO
reveal and exits early from the block proposal process on such a
condition.
Fixes#15.
(cherry picked from commit fb2d95e97b)