Allow building zmqpp with Microsoft Visual Studio

Changed preprocessor if directives to use || and && operators instead of words "and"/"or"
Replaced noexcept definition (if not supported) with NOEXCEPT - C++11 standard forbids defining keywords and MSVC checks that even if the keyword is not implemented (checks since version 12 (2013))
Moved socket flags to source file to prevent linker warnings about duplicate definitions
Moved inet functions into zmqpp namespace to resolve overload conflicts with system functions - windows provides an overload different only by the return value and that is forbidden in C++

Signed-off-by: Krzysztof Rapacki <shauren.dev@gmail.com>
Merge pull request #45 from Shauren/msvc_build

Allow building zmqpp with Microsoft Visual Studio
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.
Merge pull request #46 from cmdevries/master

Fix crash on sending a std::string larger than 2GB
Add some method to the poller that allows to use zmq_pollitem_t directly
Reactor class; We can register socket or fd and have callback called when watched events occur.
Simple tests
Add method remove(zmq_pollitem_t) to poller
Merge pull request #47 from xaqq/zmq-reactor

Zmq reactor
This fixes a bug in zmqpp::reactor that occured when calling remove() from a handler.
Merge pull request #48 from xaqq/zmq_reactor_fix_remove

Bug in zmqpp::reactor
Adds zmqpp::actor, this class is similar to CZMQ zactor, that is it provide an easy way to spawn a thread an to communicate with it. Adds a zmqpp::signal enumeration that is used to send signal to socket (for interthread synchronization). zmqpp::socket and zmqpp::message have new methods to deal with zmqpp::signal
Merge pull request #51 from xaqq/actor_pr

zmqpp::actor
Enable unbind and disconnect methods for class socket only for ZMQ >= 3.2
Merge pull request #52 from xdmiodz/develop

Enable unbind and disconnect methods for class socket only for ZMQ >= 3.2
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 fails inside ZMQ. It returns with
EAGAIN.
Merge pull request #53 from cmdevries/develop

zmqpp::socket::receive_raw also has int length
Flags are ignored on signal receive overload.
Merge pull request #55 from pschoeni/patch-1

Flags are ignored on signal receive overload.
Revert "Flags are ignored on signal receive overload."