Previously, NTCP was using SimpleTimer with a delay of 0, which
was a real abuse.
Here we use the non-scheduled, lockless ThreadPoolExecutor with
a fixed pool size and an unbounded queue.
The old implementation was having problems with lock contention;
this should work a lot better - and not clog up the SimpleTimer queue.