close the socket when the request from a client is rejected
log the reason why the request is rejected
give a retry-chance for an empty request
reject empty requests (distinguish it from other errors for logging)
do not send Connection: keep-alive header to the server

always send Connection: close because this version does not support the
HTTP keep-alive feature
Merge pull request #8 from peecky/master

some error handlings