define encoding for message metadata to be UTF8

clarifies that these are text fields,
and removes ambiguity about how to create proper
text object from stored bytes.
Merge pull request #1145 from pijyoi/master

use enum retired_fd instead of -1
Merge pull request #1146 from minrk/utf8-metadata

define encoding for message metadata to be UTF8
Update zmq_msg_get(ZMQ_SHARED) to return true for type_cmsg messages
Merge pull request #1147 from rodgert/master

Update zmq_msg_get(ZMQ_SHARED) to return true for type_cmsg messages
moved root CMakeLists.txt tests config to tests/CMakeLists.txt
Merge pull request #1152 from drodri/task/cmake_structure

moved root CMakeLists.txt tests config to tests/CMakeLists.txt
Add test for HWM behaviour for mandatory ROUTER sockets over tcp
Merge pull request #1154 from mrvn/pull-test_router_mandatory_hwm

Add test for HWM behaviour for mandatory ROUTER sockets over tcp
Document altered HWM behaviour when ZMQ_ROUTER_MANDATORY is set.
Merge pull request #1155 from mrvn/pull-document_hwm_behaviour_with_ZMQ_ROUTER_MANDATORY

Document altered HWM behaviour when ZMQ_ROUTER_MANDATORY is set.
do not silently drop messages in publisher if hwm is reached
better naming of flags and variables to real functionality: nodrop
Merge pull request #1156 from kreuzberger/master

Provide socket option for pub sockets to not silently drop message
Code cleanup
Return -1 when failed to publish message
Merge pull request #1158 from hurtonm/master

Code cleanup
Note that ZMQ_TCP_ACCEPT_FILTER is deprecated
Added AppDynamics as corporate author
Problem: ZMQ_CURVE_SECRETKEY reads beyond end of Z85 data

Solution: change setsockopts on printable keys to expect 41, nor 40
bytes. Code still accepts 40 bytes for compatibility, and copies the
key to a well-terminated string before using it.

Fixes #1148