* Add Boostrapping/Online modes
Add Boostrapping and Online modes to cryptarchia, including
relevant tests. The Boostrap mode uses the Genesis fc rule, while
Online uses Praos. Swtitching between the two rules is left to
the implementation and is specified in the public Notion as linked
in the comment
* Add explicit LIB
* prune forks
* cryptarchia: introduce Hash class
* cryptarchia: Coin renamed to Note
* cryptarchia: simplify mock leader proof
* cryptarchia: remove orphan proofs from block headers
* cryptarchia: maintain a single commitment set in ledger state
* cryptarchia: drop note evolution
* cryptarchia: drop MOCK_LEADER_VRF
* cryptarchia fix nonce contribution derivation
* cryptarchia: mk_chain only returns list now
* fixup
* cryptarchia: shorten test cases using mk_chain
* cryptarchia/relative-stake: failing test showing lack of inference
* implement stake-relativization spec
* test total stake inference in empty epoch
* move TestNode to test_common
* fix bug in Follower re-org logic
* improve orphan proof test coverage
* force orphans to already have been in one of the existing branches
* rename initial_inferred_total_stake ==> initial_total_stake
* add simple orphan import test
* Follower.unimported_orphans: ensure no orphans from same branch
* remove unnecessary LedgerState.slot
* cryptarchia: doc fixes
* factor out total stake inference
* docs for total stake inference
* rename total_stake to total_active_stake
* replace prints in cryptarchia with logging.logger
* feat(cryptarchia/epoch-schedule): switch to 334 schedule (from 433)
* factor out common test config building code
* feat(cryptarchia): test_leader uses common test config object
* cryptarchia: update test_ledger_state_is_properly_updated_on_reorg
* cryptarchia: update test_epoch_transition test
* move to .tip() in tests instead of tip_id()
* cryptarchia: wrap long comments
* cryptarchia: move mk_block to test_common
* cryptarchia: move mk_genesis_state to test_common
* cryptarchia: refactor fork test to use mk_chain
* cryptarchia: fork choice rules tests use mk_chain helper
* cryptarchia: rename fork choice test suite to TestForkChoice
* cryptarchia: config.s is always 3k/f or 3*base_period_length
* cryptarchia: hardcode epoch schedule in specification
* un-hard code epoch sched. params + provide a v0.0.1 spec for params