Converting overwrite to only check s3 once

Also refactoring many of the tests.
'should be no data' seems incomplete as a description.