Fix handling of paths when run outside the repo.
The main problem was that dirstate.getcwd() returned just "",
which was interpreted as "we're at the repo root". It now returns
an absolute path.
The util.pathto function was also changed to deal with the "cwd is
an absolute path" case.
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 heads' to see heads, 'hg merge' to merge)
changeset: 1:bdcee5d51fa6
tag: tip
parent: -1:000000000000
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