Each inproc pipe is guarded by its own critical section

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Pipes properly removed in individual socket types

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
SURVEYOR socket uses nn_fq instead of hand-crafted fair-queuer

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Leftover 'current' member removed from nn_xsurveyor

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
REP socket uses nn_fq instead of a hand-crafted fair queuer

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
nn_dist class added

PUB and SURVEYOR sockets modified to use the new class

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Bug with nil listitems solved

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Lists now assert if not properly emptied before termination

This is sanity-checking feature. The idea is that if non-empty
list is closed there may be some object leaks somewhere.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Completion is socket is terminated before socket's derived class

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>