Code cleanup

This patchset is mainly consisting of code cleanups and maintainance.

- Introduced new header util.h containing utility functions to convert
  addresses to char* typed string representations in a generic way and
  to get the port of an address as an int. There are also functions that
  work with client structures

- Replaced occurences of older conversions with the new functions

- Replaced hardcoded values with preprocessor macros where applicable

- Reduced code duplication resulting from new IPv6 support where
  possible

- Other general cleanups where applicable