Merge pull request #699 from hintjens/master

Problem: CZMQ is too unstable
Revert "Bring back zring_node_t"

This reverts commit 8fd1f567a7a8d4bdc2a1cdefe521e1eb5242f950.

Problem: breaks the CLASS standard for the API and exposes internals
of the container to the outside world. Code does not follow style and
has no test case.

Discussion: it is unclear what the goal of this exposure was. I think
the idea is to optimize the search for specific items. However there
is already a zring_lookup() method. Is this too slow? Other issues with
it? Unclear, unstated.

Overall this exposure of container internals feels like a boundary
violation, and it goes against the standards for CZMQ. The root cause
of this is I think a failure to find the proper abstraction level.

The original use case was a timeout queue structure, which has a
clear API (assume ztqueue as class name):

  ztqueue_new ()
  ztqueue_insert (tqueue, timeout)
  ztqueue_cancel (tqueue, timeout)
  ztqueue_restart (tqueue, timeout)
  ztqueue_destroy (&tqueue)

with an implementation of ztqueue that works as desired, without
polluting the CZMQ container APIs on the way. There is no reason
that zhash, zring, or zlist should support ztqueue or anything like
it. Not all problems need to be solved.

Solution: remove this code.