Add WavWriter::flush()
Add WavWriter::flush()

This method flushes the underlying writer and updates the header such
that the file is valid. It can be used for "checkpointing" large writes.
Even if at some point there is an IO error, the samples can at least be
read up to the flush by a compliant decoder.

ruud-v-a/hound,ruuda/hound