Make withClient and withServer a bit more general
Rename socketProducer to socketP, and socketConsumer to socketC
Curry TCP.Simple.Application a bit