Added interfaces
This MR adds interfaces implemented by the SequencedClient and SequencedSocket. Besides the obvious design patterns with implementing interfaces, this mainly allows the use of the delegation pattern by users of the client, which is something we want to use for the companion container to delegate functionality from a gVisor socket subclass.