Client & Server now use SingleThreadExecutor

There is no point in using a cached thread executor, since the
connection can't be shared among the threads. Either way, only one
thread can operate at a time.