Stable version of Connections.

Changed data structure used to keep track of the connected workers from
2 LinkedLists to one ConcurrentHashMap where the Key is the
SocketAddress of the Worker and the associated value is the ping count.
A ConcurrentModificationException was occurring because multiple methods
were acting on the same list at the same time.
The ConcurentHashMap removes the need for copying the List and for
synchronizing blocks.
I've tested the connection up to 15 worker nodes and it works fine.