Merge pull request #692 from hintjens/master

Packaging for zmq_curve_keypair function
fix minor typo in zmq_ctx_get doc example
Merge pull request #693 from calid/doc-fix

fix minor typo in zmq_ctx_get doc example
Merge pull request #694 from hintjens/master

Clarified that zmq.h constants are part of the public contract
Stop curve handshake when cookie box verification fails
replace macro constants with enum types for user facing constants
Merge pull request #695 from hurtonm/master

Stop curve handshake when cookie box verification fails
distinguish between options and defaults
Merge pull request #696 from calid/enum-constants

replace macro constants with enum types for user facing constants
test for _MSC_VER before using MSVC specific code
WinSock2.h filename should be all lowercase
Merge pull request #697 from pijyoi/master

bugfixes for mingw compilation
Add abstract namespace support for IPC sockets on Linux.

Converts an initial strudel or "at sign" (@) in the Unix socket path to
a NULL character ('\0') indicating that the socket uses the abstract
namespace instead of the filesystem namespace.  For instance, binding a
socket to 'ipc://@/tmp/tester' will not create a file associated with
the socket whereas binding to 'ipc:///tmp/tester' will create the file
/tmp/tester.  See issue 567 for more information.
Add test for abstract namespace support in ipc sockets on Linux.

See issue 567.
useless checks were removed
Merge pull request #698 from hashstat/master

Add abstract namespace support for IPC sockets on Linux.
Merge pull request #699 from ezhikus/free_and_delete

It is safe to "free(NULL)" and "delete NULL"
Add note on Linux abstract namespace to ipc documentation.
Fix detection of abstract ipc pathname and length calculation.

Abstract socket pathnames must have a NULL character in the first
position, but the second character must also be checked to differentiate
an abstract name from the empty string.  The address length must also
indicate the length of the pathname because the kernel uses the entire
address as the name, including NULL characters.  ZMQ uses
NULL-terminated strings for the address, so the abstract address length
is the length of the string following the initial NULL byte plus 3; two
bytes for the address family and one for the initial NULL character.
Add tests/test_abstract_ipc to .gitignore.