Fix non-constant-expression narrowing

For OS X, the microseconds field is implemented as an int type. The implicit narrowing in the initializer list throws a compiler error for some compilers with C++11 support turned on. The specific error message is: "error: non-constant-expression cannot be narrowed from type 'long' to '__darwin_suseconds_t' (aka 'int') in initializer list [-Wc++11-narrowing]".

Tested on Clang 5.1.0 and Mac OS X 10.9.4.
Merge pull request #1181 from whoshuu/patch-1

Fix non-constant-expression narrowing
Fix hang terminating PGM ZMQ_SUB (#822).
Merge pull request #1185 from banburybill/master

Fix hang terminating PGM ZMQ_SUB (#822).
Problem: test_security_curve does't try wrong mechanisms

Solution: check that it rejects attempts to connect to a CURVE server
using NULL or PLAIN client.
Merge pull request #1186 from hintjens/master

Problem: test_security_curve does't try wrong mechanisms
Problem: stream_engine.cpp security can be downgraded

Solution: accept only the mechanism defined by the socket options.

I've not tested this yet, so it's a speculative fix.
Merge pull request #1188 from hintjens/master

Problem: stream_engine.cpp security can be downgraded
Problem: curve messages can be replayed

Solution: ensure message short nonces are strictly increasing and validate them
Merge pull request #1189 from steamraven/master

Problem: curve messages can be replayed