AtomicOutputStream

Author:  Marcelo Vanzin

An output stream that uses a temporary file to write the data, and only overwrites the target file at close time.