Problem: signal handling was broken

Ctrl-C handler wasn't being properly installed. This patch fixes
that.

Fixes #485.
Problem: zsys_handler_set was confusing

This method did confusing stuff, and allowing handler_fn to be
NULL seems senseless. I've simplified it so that it's more obvious
what it does.
Generalize VS dependency reference in GSL template.
Revert use of $(DefaultLinkage) in VS props that require UI presentation.
Merge pull request #486 from hintjens/master

Problem: signal handling was broken
Update NuGet packaging.
Merge pull request #487 from evoskuil/master

Minor updates to VS build configuration and NuGet packaging.
Code simplifications
Removed debug output in zbeacon
Merge pull request #488 from hintjens/master

Removed debug output in zbeacon
Problem: need success/failure capacity in zsock signals

Solution: encode 1-byte status code into signal, as magic
8-byte number so that signals can be identified among "normal"
messages.
Merge pull request #489 from hintjens/master

Problem: need success/failure capacity in zsock signals
Problem: zmsg_send() failed if message was null

Incorrect code to test for zero-sized messages was outside
non-NULL check on self. Moved inside. Added test for this in
selftest.
Merge pull request #490 from hintjens/master

Problem: zmsg_send() failed if message was null
Problem: report when unable to get a usable interface

On some setups, zbeacon cannot find a usable interface. The previous
behavior was to hide this problem from the caller. That caused tests
to hang mysteriously.

Now if the getnameinfo() call fails, the zbeacon constructor fails
and returns NULL. The caller cannot thus continue.
Fixed selftest for no-discovery case
Merge pull request #491 from hintjens/master

Problem: report when unable to get a usable interface
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