Get rid of complex kernel code.

Thanks to Steven Barth for the pointer on getifaddrs().
Proper logger and util files.
Fix: break missing in a switch statement.
Document the server's "-a" option, and client's "-w" option.
Add options to use the logger.