Even less coupling

All in one commit as it is somehow related:
- introducing CommunicationDetector
- LineServer is independent of networking stuff
- runner refactoring
- performance tests moved to perf package
- get rid off LineServerException
- basic line server tests use mocks, not real sockets