Problem: No builtin way to valgrind or gdb
Solution: Add the `make memcheck` and `make debug` targets
Problem: CZMQ uses deprecated zsocket internally
Solution: Remove all internal uses of zsocket.h and zsockopt.h
Note: (Did not remove internal usage in other deprecated classes)
Merge pull request #809 from jemc/valgrind_gdb

Problem: No builtin way to valgrind or gdb
Merge pull request #810 from jemc/purge_deprecated

Problem: CZMQ uses deprecated zsocket internally
Problem: confusing delayed compute of timer 'when'

There is no functional reason to delay the calculation of the when
property for new timers. However this makes the code more complex
than it has to be.

Solution: calculate the 'when' on new timers, and simplify the rest
of the code a little.

Note: this also lets us insert timers correctly into a sorted list.
Problem: ticket constructor isn't consistent

Solution: use 'self' in constructor, as we usually do.
Problem: semantics for move / ordered are confusing

I'd rather have clean semantics for moving to start and end
of list, and then separate methods for inserting and moving
to start or end of list, sorting into place.

Solution: remove 'sorted' argument from move_start/move_end.
Problem: zhash got messy

The Features added over the last months made the API complex
and nasty (void * for keys, really?) and broke compatibility.

Solution: revert zhash to its v2 simpler state, which can be
deprecated or perhaps kept as a "simple hash" container. All
the nasty stuff should be kept for zhashx.

Also switched to using zhashx internally in CZMQ (not in places
where it affects the API).
Merge pull request #811 from hintjens/master

Cleanups to containers
Problem: extended containers are non-trivial to learn

Solution: un-deprecate zlist and zhash and offer these as the
"simple" containers, with zlistx and zhashx as upgrades for
more demanding applications.
Problem: CI tests many builds with one matrix item
Solution: Split CI builds into separate matrix items
This is done with an entry in 'env' for each build
Merge pull request #812 from hintjens/master

Problem: extended containers are non-trivial to learn
Merge pull request #813 from jemc/master

Problem: CI tests many builds with one matrix itemThis
Problem: zsock and zgossip_msg don't build on ZMQv2

Solution: use a macro to emulate zmq_msg_send() and zmq_msg_recv()
and do not use zmq_send in version-independent code.
Merge pull request #815 from hintjens/master

Problem: zsock and zgossip_msg don't build on ZMQv2
Added the tcp bind syntax [-60000] to the examples.
Fixed spacing to match surrounding lines.
Merge pull request #816 from WyoMurf/master

Doc fixes-- added example to bind syntax
Bring docs up to date wrt the deprecated zframe_recv_nowait.
Merge pull request #817 from WyoMurf/master

Bring docs up to date wrt the deprecated zframe_recv_nowait.