Small optimizations to BlockLayout.
- Remove takeL/R 1 occurences by lastOL/headOL.
- Make BlockChain a OrdList newtype by removing the set of blocks.
Initially BlockChain contained both, a set for membership test
and a ordered list of blocks. The set is not used for any
performance sensitive lookups so we get rid of it.