Fully non-blocking networking
This changeset:
- enables non-blocking socket operations everywhere in the server
- adds vast test suite for the networking code
- unifies error handling on all supported platforms
- removes copy-paste in send/receive code
- reorders operations to reduce number of syscalls
- unifies API parameter types for socket addresses
- adds checks if socket options are set correctly
- fixes requestor unit tests failures on OS X