Expand tilde before open log file.
Add comments for request flags.
Avoid superseding a single request multiple times.

If the headers arrive in a separate packet, it is possible to supersede
a request multiple times before any data is served to the client.  This
could cause infinite loops on slow networks against servers that don't
aggregate writes properly.
Fix typo in Ruben's patch.
Update CHANGES.
Merge remote-tracking branch 'upstream/master' into all-changes-chrisd