RecentBlocks: rewrite of the trim operation.
RecentBlocks: rewrite of the trim operation.

trim:
  handle the case where the most recent common ancestor is beyond the horizon.
  set self.root & self.leaves here.
find_lowest_common_ancestor: new method
save_ledger_thread: self.root is an object now, not a set.

samrushing/caesure,samrushing/caesure