contractcourt: create new channel arb test context struct
contractcourt: create new channel arb test context struct

In this commit, we create a new channel arb test context struct as the
current `createTestChannelArbitrator` has several return parameters, and
upcoming changes will likely at first glance need to add one or more
additional parameters. Rather than extend the existing set of return
parameters, we opt to instead create this struct that wraps the existing
state.

Along the way we add several new utility methods to this context, and
use them in the existing tests where applicable:
  * `AssertStateTransitions`
  * `AssertState`
  * `Restart`
  * `CleanUp`

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