Add file exists check to copyfile_sparse

In acbb467709ce43b9c16b0ad2f5e025533fe8505c a os.path.samefile was added but no checks on if dest / src exist prior to it.
This is problematic especially when the destination file does not exist already. Now it only runs samefile when a dest already exists.

This makes the ozutil tests for copyfile_sparse pass again and adds 2 new ones.