Reworking zsock_t integration

The zmsg, zframe, zstr, zloop, and zpoller classes now work both with
zsock_t * sockets and older void * sockets, using a runtime probe that
determines the class type.

This means we can gradually move away from the old style to the new
style without breaking old apps, nor needing to duplicate lots of code.

The zsock class no longer uses contexts. I'd like to deprecate the ctx
class and manage contexts automatically:

- one global context per process
- one thread local context per thread

This will also require reworking the zthread class, which was on my list
for some time (it's not consistent with CLASS).
Added version.sh to distribution package

Fixes #458
Added zsock_monitor class

- deprecates zmonitor, providing clearer API

- moved all class forward declarations to czmq.h so that order of API
  include files no longer matters (it was too fragil).

- added zsys_sprintf() method to format a string
Generated documentation
Removed unused notes.txt
Removed scary deprecated comments
Problem: net/if.h not properly included

In general, including system files in class sources is messy and
error prone. It is better to include these in czmq_prelude.h once
for the entire project.

However in czmq_prelude.h we don't have platform.h; this header is
also used by applications.

Solution: in classes, include platform.h BEFORE czmq.h. Then, do
all non-portable includes in czmq_prelude.h according to platform.h
macros.

Fixes #425, I think.
Problem: zmonitor uses zmq_event_t

Removed this, so that CZMQ can build on current libzmq master.

Also finished up zsock_monitor support for libzmq/3.2.
Minor updates to documentation
Removed debugging printf
Merge pull request #457 from hintjens/master

Reworking zsock_t integration