Creates a temporary file, returns a write stream, a path, and cleanup functions
Dependencies
TODO