additional errors if required settings are not defined
changed a print() call to logger.warning()
verify hashes once per process lifetime
added a note about race conditions in self.storage.delete()
implemented REMOTE_FINDER_ALWAYS_VERIFY option
made a more enlightening exception message for when the digest does not match