As *BSD defaults to use IPv6 only sockets and Linux to IPv4 mapped IPv6
sockets, switches to support explicit binding address families are required.
Now set explicitly if you want IPv6 only, IPv4 only or mapped IPv4.
Caveat:
OpenBSD explicitly states to not support IPv4 mapped IPv6 via setsock-API
Requires extensions to be enabled due to incomplete support for
POSIX.1-2008. However one of the now-exposed extensions is tragically
named "struct queue". This struct was been renamed to "struct fifo".
Thanks to @yvoinov for reporting this issue and collaborating on a
solution.
Closes#14, #17.