Made the ssh rename unlink the destination first.

It ignores not-found errors, if present, then proceeds with the
rename. This brings its behavior into line with the filesystem
behavior of just blowing away existing files without a care.

Added a test specifically for this case.
Merge pull request #7 from npm/ceej/force-unlink

Made the ssh rename unlink the destination first.