add "archive" command, like "cvs export" only better.
most code in mercurial/archival.py module, for sharing with hgweb.
# repo.py - repository base classes for mercurial
#
# Copyright 2005 Matt Mackall <mpm@selenic.com>
#
# This software may be used and distributed according to the terms
# of the GNU General Public License, incorporated herein by reference.
class RepoError(Exception): pass