Make it all work.
Created by: NilSet
This PR adds a new invariant to the block pool: Any empty blocks must be at the address of the block to the right. It also fixes a number of bugs, some of them quite serious, and also fixes some of the tests and assertions.
Fixes #13 (closed) #14 (closed) #20 (closed) #21 (closed) #22 (closed) #23 (closed)
TODO: Optimize! TODO: Fix one test I did not understand the intent of which was failing. TODO: Update documentation.