Reorganize the NetServer specs so they share a common ancestry which makes it easier to configure from things like Spring where you're dealing with NetServer as an abstraction. Without this common ancestry, you have to create blocks of code that duplicate functionality of one or the other.

Tweaked the tests to reflect the changed method name for setting a Consumer for input only.

Also added a couple helpers TcpServers and TcpClients which should make creating these components in code a little more succinct and eliminate some of the generic type signature noise associated with creating a spec using the constructor.