Merge pull request #585 from hintjens/master

Problem: allows CURVE security even if libzmq was built without libsodium
Make ZAP optional for CURVE mechanism
Merge pull request #586 from hurtonm/master

Make ZAP optional for CURVE mechanism
Make ZAP optional for PLAIN mechanism
Merge pull request #587 from hurtonm/master

Make ZAP optional for CURVE mechanism
Small cleanup in pipe.cpp
Merge pull request #588 from hurtonm/master

Small code cleanup
Added security curve test

Test is skipped if no libsodium.
Added warning if libsodium not configured
Merge branch 'master' of git://github.com/zeromq/libzmq
Merge pull request #589 from ianbarber/master

Add test for CURVE mechanism
Refactor how properties are parsed
Merge pull request #590 from hurtonm/master

Refactor how properties are parsed
Rename parse_properties to parse_metadata
Merge pull request #591 from hurtonm/master

Rename parse_properties to parse_metadata
Store identity for raw socket

Identity stored during connect procedure. Can be read using
zmq_getsockopt and used as the identity frame when sending messages.
This allows the implementation of a raw socket client.
Merge pull request #592 from gavinmcniff/master

Store identity for raw socket
Added ZMQ_STREAM socket type

- designed for TCP clients and servers
- added HTTP client / server example in tests/test_stream.cpp
- same as ZMQ_ROUTER + ZMQ_ROUTER_RAW + ZMQ_ROUTER_MANDATORY
- includes b893ce set ZMQ_IDENTITY on outgoing connect
- deprecates ZMQ_ROUTER_RAW