Why does File.link() report that the source file exists? It really
ought to only report that the destination file exists. It isn't an
error for the source to exist. If it didn't, we'd get ENOENT, not
EEXIST.

irb(main):018:0> File.open("foop", "w") {}
=> nil
irb(main):019:0> File.open("barp", "w") {}
=> nil
irb(main):020:0> File.link("foop", "barp")
Errno::EEXIST: File exists - foop or barp
	from (irb):20:in `link'
	from (irb):20
	from :0

-Loris