breacharbiter: stop the stale contract when a live contract appears
breacharbiter: stop the stale contract when a live contract appears

This commit modifies the logic of the contract hand-off within the
breachArbiter to ensure that only a single internal closeObserver
goroutine is ever active for a given contract.

This modification cleans up the logs in the case of multiple
reconnections and may possible eliminate some non-deterministic bugs
related to channel force closures.

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