Tentative of Flush() support (need tests)

The ResponseWriter provided by the server implementation of net/http
has a Flush() method. This method can be access after an http.Flusher
type assertion.
The first thing that Flush() must do is to write the headers if they
haven't been written yet. And then write the buffer to the client.

This changeset implements the Flush() method for the recorder and
gzip middleware, honoring the headers that these middlewares should
send.

It also implements Flush() on the rest.ResponseWriter object.
docstring