Create backup as a copy instead of hardlink

This strategy is more expensive but required to handle the situation where the user can write to the existing file, but is not able to create new files using the same mode as the existing file, e.g. file could be group writable and but not owned by current user.

Fixes #11.
Skip save when file is not writable

Previously we would rely on an exception being raised, but this exception is raised after we create the backup file and is never removed again.