hg.py: add islocal() and defaultdest() functions, refactor
islocal tells if a repo or url is local.
defaultdest returns default path for clone if explicit path not given.
clone can now take repo or url as source
repo the name of the repo
rev a changeset.manifest revision
node a changeset node
changesets total number of changesets
file a filename
filenode a file node
filerev a file revision
filerevs total number of file revisions
up the directory of the relevant file
path a path in the manifest, starting with "/"
basename a short pathname
manifest a manifest node
manifestrev a manifest revision
date a date string
age age in hours, days, etc
line a line of text (escaped)
desc a description (escaped, with breaks)
shortdesc a short description (escaped)
author a name or email addressv(obfuscated)
parent a list of the parent
child a list of the children
tags a list of tag
header the global page header
footer the global page footer
files a list of file links
dirs a set of directory links
diff a diff of one or more files
annotate an annotated file
entries the entries relevant to the page
Templates and commands:
changelog(rev) - a page for browsing changesets
naventry - a link for jumping to a changeset number
filenodelink - jump to file diff
fileellipses - printed after maxfiles
changelogentry - an entry in the log
manifest - browse a manifest as a directory tree