Introduce reliable connection.

Such connections uses PUSH-PULL sockets pair.
Use sockets even for local connections.

This fix may will lead to code simplification and removing
of dublicates by the prime of performance penalty. Once
code will be in a good shape it's possible to return socket
bypassing.
bump zeromq4-haskell dependency
Fix some warnings
Store outgoing connections in LocaEndPoint
Add RemoteEndPoint datatype
Introduce more datatypes.
Simplify code
Remote IncommingConnection type, use ZMQConnection only
small cleanup
Use WeakRefs in global queues to avoid space leaks.
Drop invalid elements from global connection queue.
Fix races
remote deprecated deps
transport template
big rework
Remove LocalHostMessage event
Add local endpoint closing.
CloseEndPoint
code cleanup