Safer file move

Zinc was only handling the error if the destination already existed during a file move in 1 place, but it was moving files in 2.

This unifies the file move error handling logic and adds tests.
Avoiding early return
Merge pull request #79 from mindsnacks/feature/safer-file-move

Safer file move