Fix minimal version bound of bytestring
Split up some thing in different modules
Initial transition to using RWST
Lens'ify Config
Ditch Transition, only use TransitionT
Lens'ify Leader handler
Lens'ify CandidateState
Lens'ify FollowerState
Get rid of useless explicit state-passing in Handler
Make runTransitionT signature more standard