Refactor server network io

Refactor network IO part of the KATCP server  to be separate from the KATCP device semantics. This should make it easier to replace it with e.g. a tornado based IO server in the future.