Add unsafe counter module + little refactorings

Looks like it's the server loop that leaks.
Refactor worker main function (no fixing though)
Multiple changes. [Socket leak fixed!]

- Workers now try to send a ShuttingDown signal downstream when they
  terminate.
- removeTimedOutUsn reworked
- Replace never terminating 'async' with 'forkIO'
- Rework 'receiver' to include timeouts. This fixes the previous socket
  connection leak.
Refactor ClientPool housekeeping a bit
Introduce timeout for sending data