Refactor client.exchange.Exchange to make it similar to MicroPaymentChannel

**Description:** refactor client.exchange.Exchange to make it similar to MicroPaymentChannel. To do so, remove the UserRole class hierarchy and extract the payment processor related responsibilities.
**Testing:** tests pass.
**Coverage:** about the same.
Some time, we should move the payment validation performed in micropayment actors to this object as well.