Handle "keep-alive" connections by ignoring them completely

This modifies the "keep-alive" handling to ignore them completely.
This is possible because the server has the ability to "peek" at
what's been written to a socket. With this we can detect if the
socket has been closed (reading returns an empty string) and
choose to ignore the request before any processing is done. This
is nice because it reduces the overhead of a monitoring tool
checking in to make sure the server is up and running.

Closes #47