Problem: not setting a HWM for ZeroMQ/2.x

zsock was not setting a default HWM on older ZeroMQs.

Solution: explicitly set HWM of 1,000 on all new sockets, no matter
the ZeroMQ version. I'll plug this into configurable zsys globals
next.
Problem: cannot configure process global context

Solution: allow configuration of LINGER, IOTHREADS, SNDHWM, RCVHWM,
and IPV6 defaults through the API, using zsys_set_xxx() methods.
Second, allow the underlying defaults to come from the environment
via ZSYS_XXX variables, in same style as ZSYS_INTERFACE.

Provides a consistent configuration interface for zsys.
Fixed compilation for ZMQ v2 and v3

IPV6 doesn't exist prior to v4
Removes duplicated declaration
Problem: selftests fail when libzmq is built w/o libsodium

When CZMQ and libzmq disagree about libsodium support, it shows
as a hard-to-diagnose assertion in the zsockopt selftest.

Solution: explicitly check for this error and report it at the
start of CZMQ selftesting.

Fixes #494

(Also improved zsys_test coverage.)
Problem: need a fast way to read a file into memory

Solution: added zchunk_slurp() to do this in one step.
zchunk does pointless initialization of chunks

This will cost extra CPU cycles when using chunks in any critical
code.

Solution: use malloc not zmalloc, and initialize zchunk properties
to zero explicitly.
Merge pull request #492 from hintjens/master

Added configurability for zsys global context