Implements the Aleph BFT Consensus protocol as a "finality gadget". The [Member] struct requires access to a network layer, a cryptographic primitive, and a data provider that gives appropriate access to the set of available data that we need to make consensus on.