Move monitoring functionality out of socket_t and into monitor_t

Some comments on these changes in pull request 21: https://github.com/zeromq/cppzmq/pull/21