Remove empty on open

This PR makes it so that we'll be removing old files on open rather than when running `close()`. The rationale here is that it's simple to forget/miss to run `.close()` correctly and therefore end up with a lot of empty files.

Based upon #32, so let's get that one merged first.