Merge pull request #1163 from hurtonm/master

Code cleanup
Problem: FD_SETSIZE 1024 is too restrictive under Windows

Solution: increased to 4096 by default for all MSVC builds, for MinGW,
and for CMake.

Note: this is a speculative change, it needs confirmation before we
can keep it. Particularly, there is some doubt that changing this in
libzmq will affect upstream applications using libzmq.dll.
Merge pull request #1166 from hintjens/master

Problem: FD_SETSIZE 1024 is too restrictive under Windows
Fix test broken when we changed FD_SETSIZE.
Merge pull request #1168 from ricnewton/master

Fix test broken when we changed FD_SETSIZE.
Problem: issues with nodrop property

- not initialized before use
- name is nasty (boolean variables should not have negative names)

Solution: rename to 'lossy' and initialize to 'true'.
Added test cases to .gitignore
Merge pull request #1170 from hintjens/master

Fixed issues with xpub nodrop property
Problem: nodrop code is ugly

It's bad practice to start by testing all exceptional conditions
and then dropping through to the 'normal' condition. Apart from
being inefficient, it's deceptive to the user. Conditional code
should always try to show the natural expectation of the code,
with exceptional cases coming last.

Solution: clean up this code.
Merge pull request #1171 from hintjens/master

Problem: nodrop code is ugly
Hide VS turd.
Default Travis clang build fails on unused variable 'MAX_SENDS'.
Merge pull request #1172 from evoskuil/master

Fix clang build break from unused var.
Fix configure warning.
Clean up after using randombytes from libsodium

When Curve authentication is used, libsodium opens a file
descriptor to /dev/urandom to generate random bytes. When
the ZMQ context terminates, it should ensure that file gets
closed.
Merge pull request #1174 from jbreams/master

Clean up after using randombytes from libsodium
Fix potential redefinition of common DEBUG symbol, replace tabs.
Merge pull request #1173 from evoskuil/master

Fix configure warning.
Problem: undocumented limit on IPC paths in Linux is 107 chars

Solution: document the limit of 113 chars including ipc://. We might
fix this in libzmq by shortening an over-long IPC pathname into a
unique string; so long as this is done consistently in bind and in
connect, it will save applications from weird failures when they
use external data to generate IPC pathnames.
Merge pull request #1176 from hintjens/master

Problem: undocumented limit on IPC paths in Linux is 107 chars