Better exceptions, purpose built Single Host TCP Worker

Restored the workload benchmark interface (don't know what happened to
it)
Added a SingleTcpWorkerConnectionProvider for the scenario where there
is only one host
Added better exceptions to the TcpWorkerConnectionProviderBase