fix backtrace printed when cannot get lock.
change lock error handling code so exceptions have useful info and
exception handling in one place.
add test case for when cannot get lock.
pulling from ../a
searching for changes
abort: repository is unrelated
pulling from ../a
searching for changes
warning: repository is unrelated
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg update' to get a working copy)
changeset: 1:bdcee5d51fa6
tag: tip
user: a
date: Mon Jan 12 13:46:40 1970 +0000
summary: a
changeset: 0:f155ba1aa5ba
user: b
date: Mon Jan 12 13:46:40 1970 +0000
summary: b