Post-#791, we impl chain::Listen for RefCell<ChannelMonitor..>, which is both awkward and very inconsistent with all our other APIs. Instead, we should probably migrate to putting mutexes inside ChannelMonitor, which has a nice side benefit of being able to parallelize ChainMonitor::update_channel - if we move the HashMap into an RwLock we can take a read() lock there.