Problem: list and hash container APIs are messed up

There are a lot of good ideas in the new API yet the results are a
mishmash of old and new, without a clear route to a nice clean API.
The zring class was an attempt to fix this, yet it made things more
complex, not simpler.

I'm going to do this in stages:

* Deprecate the v2 classes, using the same names. This does not
  break existing applications. I'll remove some of the new messy
  code from these classes in a second step.

* Create new classes called zlistx and zhashx which initially look
  just like the old ones. I'll clean these up separately.
Problem: zmsg_popint is not useful (any more)

The usecase I had for this has gone and it's unclear it serves any
purpose. It adds clutter to the API for no benefit.

Solution: remove it.
Problem: still using zlist internally in CZMQ

Solution: leave zlist_t in public API where it's used (e.g. in
zdir and zconfig. Internally, switch all use of zlist to zlistx
except in deprecated classes. Also, switch to zlistx in public
API for zhashx_keys.
Merge pull request #805 from hintjens/master

Problem: list and hash container APIs are messed up