Enable binding to hostnames as well as IPs

Disclaimer: I am not an expert C programmer by any means - please tell me everything I've done wrong!

I wanted to give a try to letting one connect to a hostname instead of requiring an IP to be passed to listen(). Unfortunately, since you're using -std=c99, getaddrinfo, the preferred way to do that, is unavailable.

In order to use getaddrinfo from netdb.h, I had to add '-D_POSIX_C_SOURCE=200112L' to the build flags. This may be a deal killer for this change, but hopefully we can find a way around it if necessary since I think this is a worthwhile feature.

Notes:

 * Since server_init takes an int port but getaddrinfo wants a string, I truncate the string version of the input port to six digits, which should be sufficient (for ipv4?) since getaddrinfo fails with port > 65535. I realize there may be a better way to handle this.
 * Theoretically, this takes bjoern a step forward to being ipv6 compatible but it still doesn't work with such an address.