Flush logs to HTTP connection after each write

This fixes tailing logs.

@lmars for review.
Would it be simpler to wrap `w` in a `FlushWriter` which would flush after every write?

```go
type FlushWriter struct {
        w io.Writer
}

func (f *FlushWriter) Write(p []byte) (int, error) {
        defer func() {
                if _, ok := f.w.(http.Flusher); ok {
                        f.w.Flush()
                }
        }()
        return f.w.Write(p)
}
```