utility to truncate the blocks database (for debugging).
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.
#vestigial comment
handle changes to RecentBlocks.
various issues showing up when bitcoin core tries to download from us.

BlockHoover:
  behind > 10: no.  don't quit until we're done.
  get_live_connection: check - we need one with height > our target.
BaseConnection:
  kick_download: hack to lead bitcoin core along.
  get_next_500: build a correct response to getblocks.
  cmd_getdata: watch for kick_download and send a pushy inv.
  cmd_block: add blocks we send to known. [necessary?]
AddressCache: __len__
new_connection_thread: not unless we have some addrs.
new_random_addr: check length of addr_cache.
exception_notifier: also also to stderr.