util.copyfiles: only switch to copy if hardlink raises IOError or OSError.
before this, interrupting clone would give "file a same as file b" error
because caught KeyboardInterrupt.
#!/bin/sh
mkdir test
cd test
echo foo>foo
hg init
hg addremove
hg commit -m 1
hg verify
hg serve -p 20059 -d --pid-file=hg.pid
cd ..
http_proxy= hg clone http://localhost:20059/ copy
cd copy
hg verify
hg co
cat foo
hg manifest
hg pull
kill `cat ../test/hg.pid`