Remap exceptions

Raise Unix_error exception where applicable. This leaves four special ZMQ exceptions which is still mapped to ZMQ_exception type. The C code does a callback to ocaml code in order to correctly map error numbers to unix exceptions on windows platforms. 

All Unix exceptions relays which C function raised the exception using the c-preprocesser macro ```__FUNCTION__```

A unittest has been added that tests that EINTR exception is raised correctly. Manual tests has proved that ZMQ_exceptions are raised correctly as well, but not unittest verifies this (yet).