add zmq_curve_keypair to zmq_utils
return NULL and set EINVAL on bad z85 input

asserts aren't appropriate for checking user input.
use zmq_curve_keypair in curve_keygen
Packaging for zmq_curve_keypair function

* Added new man page for this
* Added test case, in tests/test_security_curve.cpp
* Noted in zmq_utils.h that these methods are documented
fix minor typo in zmq_ctx_get doc example
Clarified that zmq.h constants are part of the public contract
Disabled randomly failing part of test
git ignore test run output files: tests/test*.{log|trs}
Updated libzmq CURVE to track RFC 27

* The INITIATE command vouch box is Box[C',S](C->S') instead of Box[C'](C->S),
  as recommended by https://codesinchaos.wordpress.com/2012/09/09/curvecp-1/,
  to reduce the risk of client impersonation.

* Mirrors the change in libcurve and CurveZMQ specifications.
Stop curve handshake when cookie box verification fails
Merge pull request #16 from hintjens/master

Cherry picking changes from libzmq master