Don't use CSize to represent socklen_t

CSize is 64 bits on 64-bit machines, while socklen_t might be 32 bits.
We now use unsigned int (i.e. CUInt) instead, which is what the 64-bit
Linux machine I tested on uses. This is not entirely correct, as C
doesn't guarantee that unsigned long or socklen_t is exactly 32-bits,
but it works in practice.

Closes #81
Make some fields strict and unpacked
Stop pretending to support Hugs

No one has been testing the Hugs support in ages so it most likely
doesn't work and just add unneccesary cruft to the library.
Remove trailing whitespace
Bump version number to 2.4.1.0
defining __USE_XOPEN for MAX_IOV.
add a comment.
FFI wrapper for socket function.