Use random available port in unit tests

This makes it possible to run the tests in parallel.
Whitespace only
Decode UTF8 for unEscapeString

Fixes #86
addrinfo structs must be zeroed on OS X

Fixes #90.
Bump version number to 2.4.1.1
Remove support for non-GHC compilers
Add a regression test suite
Revert "addrinfo structs must be zeroed on OS X"

This wasn't the cause of the segfault described in #90. All fields are
already initialized to valid values.

This reverts commit e367a1da4dc55f17693e33a10fc7720bd8b0f4d6.
Fix a segfault in getAddrInfo on OS X

The OS X implementation of getaddrinfo has a bug where passing NULL for
servname and AI_NUMERICSERV in ai_flags causes a segfault. Linux does
not have this problem.
fixing regression of accept4.

accept4 sets a socket non-blocking. So, we don't need to set it again.