Update zmq.hpp

work in progress...
added monitor_t class
added monitor() method
Update zmq.hpp

corrected monitor_t::on_event_unknown prototype
corrected indentation
work in progress...
syntax & bug fixing
modified monitor_t interface
prevent unused expression result warnings from non-debug ZMQ_ASSERT macro expansion
Added license and link to C4.1 contribution policy
Add a disconnect method (interface to the zmq_disconnect call) in the socket_t class
Merge pull request #20 from taurel/master

Add a disconnect method to the socket_t class
Merge pull request #15 from montoyaedu/master

Added monitor_t class
Merge pull request #17 from grefab/master

Allowing for unbind and disconnect
Merge pull request #18 from Kobolog/master

Prevent -Wunused-value warnings from non-debug ZMQ_ASSERT macro
Rework monitor_t.
Avoid a memcpy in monitor_t
Parse event structure as data for event handlers.
Rework monitor to support both new (3.3 and above) and old ways montior events work.
Add event called after we have connected up our paired socket, we are guaranteed to get monitor events after this point.

This is useful if you are spawning the monitor to a different thread and need to wait until monitor has started before opening the socket.
Implement monitor aborting.  This relies on having the new ZMQ_EVENT_MONITOR_STOPPED event.
Convert all tabs to spaces to match formatting style for rest of the file.
Fix missing include

Add a missing include for std::string.
Adding ability to check for multipart messages