* Rework Relay to expose OutboundRelay on connect This simplifies the implementation and enforces a correct usage of the channel by exposing send methods only after a successful connection. * update tests