Merge pull request #337 from hintjens/master

Removed bogus assertion of buffer alignment
zproxy terminate will now time out and assert instead of infinite hang on problem
Merge pull request #338 from Talksum/master

zproxy_terminate will now time out and assert instead of infinite hang
avoid EADDRINUSE error when running selftest repeatedly

"writer" socket is bind
"reader" socket is connect

When the bind socket is closed first, the TIME_WAIT state occurs for
the listening side. Thus when the selftest is executed too soon after
a previous run, the bind will fail with EADDRINUSE.

By closing the connecting socket first, the TIME_WAIT state occurs for
the connecting side, which is using an ephemeral port, thus the above
problem is avoided.
Deregister socket monitor on destroy
bypass autoconf detection of libuuid under Windows platform

When building CZMQ using MinGW32 and configure script, HAVE_LIBUUID
will not be defined in platform.h.

Enable uuid unconditionally under Windows platform.
Merge pull request #340 from claws/zmonitor_shutdown

Deregister socket monitor on destroy
Merge pull request #339 from pijyoi/master

avoid EADDRINUSE error when running selftest repeatedly
zbeacon: enable sending/receiving of UDP unicast packets
selftest: disable broken zproxy_test() for now
Merge pull request #341 from mhaberler/zbeacon-unicast

zbeacon unicast UDP send/receive support
Add runtime czmq version check function
Merge pull request #342 from claws/add_runtime_version

Add runtime czmq version check function
adding ability to set front and back socket identity

moving zproxy set identity to be in every version
adding tests for zproxy set identity options
Merge pull request #343 from Talksum/master

zproxy socket identities
fix for broken identity test in zproxy
Merge pull request #345 from taotetek/master

fix for broken identity test in zproxy
Simplified zproxy

- classic complexity-oriented design! API was trying to provide a socket
  abstraction, except it wasn't an abstraction. The use of methods like
  "set frontend identity" that literally set the frontend identity,
  except via a long and complex wrapper, are a red flag. The abstraction
  should simplify, not complicate. The old API was clearly going to lead
  to endless growth (set frontend HWM, set frontend read timeout...).

- version detection was complex. I added detection for zmq_proxy_steerable
  via configure.ac.

- removed support for pre-V4 versions of libzmq, since the old zmq_proxy
  function needs no async wrapping. If zmq_proxy_steerable isn't present
  the constructor returns NULL.

- capture is moved out of the constructor since it's a minority use case.