* beefy: gadget should always use current validator set
The gadget/client-voter was using previous' session validator set
to sign the 1st block in the new session (to have chained validator
set handoffs).
This is not necessary because:
1. BEEFY piggy-backs on GRANDPA and only works on canonical chain,
so it need not concern itself with the validity of the block header
(which contains digest with the new session's validator set). It
can safely assume header is valid and simply use new validator set.
2. The BEEFY payload itself already contains a merkle root for the
next validator set keys. So at the BEEFY-payload layer we already
have a validated/trusted hand-off of authority.
Signed-off-by: acatangiu <adrian@parity.io>
* beefy: buffer votes for not yet finalized blocks
Signed-off-by: acatangiu <adrian@parity.io>
* beefy: add buffered votes regression test