peer: ensure chan sends to breachArbiter can't block indefinitely
peer: ensure chan sends to breachArbiter can't block indefinitely

This commit fixes a possible deadlock bug that may arise during
shutdown due to an unconditional send on a channel to the breach
arbiter. We do this on two occasions within the peer: when loading a
new contract to give it the live version, and also when closing a
channel to ensure that it no longer watches over it.

Previously it was possible for these sends to block indefinitely in the
scenario that the server was shutting down (which means the breach
arbiter) is. As a result, the channel would never be drained, meaning
the server couldn’t complete shutdown as the peer hadn’t exited yet.

ddustin/lnd,LightningNetwork/lnd,ddustin/lnd,aakselrod/lnd,LightningNetwork/lnd,aakselrod/lnd