[keep-web] Avoid red-herring error log on 304 Not Modified responses
While handling a conditional request that results in a 304 Not Modified response, keep-web logs this error:
"stat.Size()==3299929 but only wrote 0 bytes; read(1024) returns 1024, %!s(<nil>)"We should
%sso a nil error is just
- not log this error if the response code is 304
- Status changed from New to In Progress
The test covers the 304 case, but the fix covers other non-200 response codes as well, like 412 precondition failed and 207 partial content.
Also fixed an unclosed-file bug, even though (so far) it was harmless because Close() is a no-op in a collectionfs.