Implement DefaultMicroPaymentChannel

**Description:** complete the implementation of `DefaultMicroPaymentChannel`. To do so, make some preliminary changes to make it easy to implement (extract test utilities, fix auxiliar classes problems).
**Testing:** tests pass
**Coverage:** 91% for the impl package and 88% for the coinffeine-common module