Merge pull request #987 from hintjens/master

Various small cleanups
Add pointer to properties into message structure
Merge pull request #988 from hurtonm/master

Add pointer to properties into message structure
Update function prototype for zmq_msg_gets ()

Added modifiers reflect the following properties:
- zmq_msg_gets () does not mutate property parameter
- zmq_msg_gets () returns a pointer to memory the caller should not
  modify
Merge pull request #991 from hurtonm/master

Update function prototype for zmq_msg_gets ()
Define i_properties interface

- copy and move message operations are updated to maintain proper
  reference count of properties object
- zmq_msg_gets updated to use i_properties interface to fetch property
  value
- setter/getter added to msg_t class
Merge pull request #992 from hurtonm/master

Define i_properties interface
Allow to set up a source address and port for outgoing tcp connections in zmq_connect()

Few examples:
tcp:://192.168.0.4:55555;192.168.0.254:1234
tcp:://192.168.0.4:0;192.168.0.254:1234
tcp:://eth2:55555;192.168.0.254:1234
Merge pull request #993 from klnikita/src_addr_connect

Allow to set up a source address and port for outgoing tcp connections in zmq_connect
Port 9999 is unsafe for tests
Problem: generates incompatible libzmq.so.3.1.0

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743508

The ABI in fact changed in two significant ways, one with inproc
connects, and one with socket monitoring

Solution: generate libzmq.so.4.0.0 library instead.

This change should be backported to zeromq-4.x