Added options for CURVE security

- ZMQ_CURVE_PUBLICKEY for clients and servers
- ZMQ_CURVE_SECRETKEY for clients
- ZMQ_CURVE_SERVERKEY for clients
- ZMQ_CURVE_SERVER for servers
- added tools/curve_keygen.c as example
- updated man pages
Clarified man pages on mixed security
Merge pull request #578 from gonzus/master

Changes to sanity tag in ctx
Merge pull request #577 from hintjens/master

API for CURVE configuration
Comments to clarify the socket name function
Merge pull request #579 from ianbarber/master

Clean up socket_type_string
Stop ZMTP handshake when an unexpected message comes
Merge pull request #580 from hurtonm/master

Stop ZMTP handshake when an unexpected message comes
Properly set mechanism to CURVE when setting a curve option
Merge pull request #581 from hintjens/master

Problem: code isn't setting mechanism to CURVE properly
Implement CurveZMQ message encryption and authentication
Implement ZMTP/3.0 CURVE mechanism
Merge pull request #582 from hurtonm/master

Implement CurveZMQ message encryption and authentication
Fix small streamengine issue w/ term and handshake

Also tidy up monitor test a little.
Merge branch 'master' of git://github.com/zeromq/libzmq
Merge pull request #583 from ianbarber/master

Small stream engine issue and test_monitor tidy up
Fix test_disconnect_inproc to work on ILP64 systems
Merge pull request #584 from hurtonm/master

Fix test_disconnect_inproc to work on ILP64 systems
Prints message and exits if app tries to use CURVE without libsodium
Whitespace fix to man page