Problem: CZMQ is too unstable

Once upon a time there was a garden, in a fertile mountain valley. The
garden was fed by mountain streams, and a group of monks carefully
tended the plants. The garden grew slowly, almost invisibly, into a
most pleasant place. Large trees protected visitors from the sun, in
summer, and provided firewood, in winter. There was fruit and there
were even those little peppers that burn you if you touch them.

And one day, some of those visitors thought, "hey, we can do this
too," and they took some of the monks' tools, and started to dig and
chop and hew. Instead of real trees, they built imitations out of
dirt and stone. Instead of real fruit, they painted on things that
looked tasty, yet would break your tooth if you tried them.

And unlike the monks, who were in truth a pretty relaxed lot who
preferred to watch the birds fly across the sky than interfere with
the course of nature, the visitors were always busy, noisy, and
impatient. City folk, thought the monks. Always in such a hurry.

And pretty soon, the visitors, proud of themselves, had made rather
a mess of the garden. The monks tried to explain that you don't make
beauty by brute force, that only time can produce that. But the
visitors were impatient, and confident, and did not listen to the
monks. Instead they argued, and chopped all the faster and their
strange trees started to fill the garden, and block the sun, and
scare away the birds.

And the monks watched, for they knew that even the random damage
done by passing visitors was part of the sea of change. It was all
good, in one way or another. Maybe stone trees really were the way
forwards.

But the head monk, who was usually the one that stood at the gate
welcoming visitors and offering them a tool to prune, tidy, or weed,
said, "that's it, this is messing with the inner calm of our garden,"
and he waved his hands mysteriously, and the strange trees shifted
magically to a field outside the garden. And the head monk said, as
you like your stone trees so much, there they are, go play in them.
Revert "ziflist: typedef ziflist_t directly to zlist_t to avoid ugly casts"

This reverts commit e81568eec3ee08fb1caf180c865249981fa20feb.

Problem: ziflist's internal implementation has leaked into czmq.h.

We have a style for classes that is consistent and easy to follow. For
some reason ziflist is *different*. There is no benefit to this.

Solution: remove the weirdness and hide it inside ziflist where it
belongs.
Problem: ziflist has ugly and unnecessary casts

Solution: remove ugly and unnecessary casts.
Merge pull request #699 from hintjens/master

Problem: CZMQ is too unstable