Fix crash on sending a std::string larger than 2GB

The socket::send(std::string) function calls send_raw which has a signed integer
as the buffer length. With messages larger than 2GB this causes the size_t
passed to ZMQ to be a large positive value near
std::numeric_limits<size_t>::max(). This is fixed by changing send_raw to take
a size_t instead of an int for the buffer length.
zmqpp::socket::receive_raw also has int length

As with my previous pull request for send_raw, the buffer for receive_raw has an
int for length rather than a size_t. I added unit tests for testing sending >2GB
messages using zmqpp::socket and now something failings inside ZMQ. It returns
with EAGAIN.
Removed conflicting changes.
Merge branch 'develop' of https://github.com/cmdevries/zmqpp into develop