subrepo: use safehasattr instead of hasattr
Some of these instances could be rewritten as clever getattr(x, y,
default) ladders, but that felt like it impeded readability too much
to be worth the modest efficiency gain.
http://mercurial.selenic.com/bts/issue1438
$ "$TESTDIR/hghave" symlink || exit 80
$ hg init
$ ln -s foo link
$ hg add link
$ hg ci -mbad link
$ hg rm link
$ hg ci -mok
$ hg diff -g -r 0:1 > bad.patch
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg import --no-commit bad.patch
applying bad.patch
$ hg status
R link
? bad.patch