This commit makes HgPath::join slightly more efficient
by avoiding one copy.
It also avoids a particularly inefficient (quadratic) use of
HgPath::join by using a new mutating function HgPathBuf::push instead.
The name for HgPathBuf::push is chosen by analogy to PathBuf::push.