Logging and Timeout Shutdown Fixes

Calls to error_code in which the message begins with -- are now
considered to be a continuation of an error message and do not print a
time stamp.

Logging with error_code now causes the log stream to be flushed every
time the function is called. This alleviates an issue which forking
caused that inherited stream to log extraneous messages.

If the client is connected with HTTP Connection: keep-alive, they may
time out after 60 seconds, at which point the server will close the
connection. The connection was closed again after logging content
served, causing a stack corruption. The connection is now only closed at
the end of a handler process if that end has not been arrived at by time
out.