Adding 'open_atomic'
Make 'open_atomic.name' sensible
Use 'opener' instead of 'open_func'
Use 'os.replace' when available, use 'self.file' instead of 'self.fd'
Start of Python 3 compatibility
Making all the doctests work with py3