* Problem: Macros not defined in older versions
Solution: Guard usage of libzmq macros
* Test older version of libzmq with C++11 or later
* Use a slightly newer libzmq version
sudo was required for for pkg-config libzmq build as cppzmq could not
find not installed pkg-config libzmq.
Solution: cppzmq to use cmake prefix paths for pkg config paths as well.
cppzmq does not follow other zeromq projects where draft builds are
enabled by default for git repository.
Solution: revert back code where ENABLE_DRAFTS in set to ON if .git
directory exists
Default build, ./ci_build.sh without any arguments, which causes to run
with draft disabled, does not work properly for git cloned repository and
C++11 compiler.
Two issues:
1. For git cloned repository ENABLE_DRAFTS is ON by default but libzmq
compiled build without drafts .Travis did not catch that because default build
runs on non C++11 compiler.
2. testutil.hpp does not build because of missing draft guards.
Solution 1: Remove check for presence of .git for enabling draft API as it
is confusing to use with ENABLE_DRAFTS flag and there should be only one
explicit way to enable draft build.
Solution 2: add missing draft guards in testutil.hpp for server/client
socket in use there.
Solution 3: add extra Travis build covering C++11 compiler and non
draft enabled build.
It seems to be a problem with cppzmq where FindZeroMQ.cmake is not
found without installing cppzmq.
Solution: install cppzmq for pkg-config build type.
It seems that there is a bug in libzmq 4.2.0 cmake configs that prevents
linking to it without installing.
Solution: disable libzmq 4.2.0 for cmake builds