perf: run the gc before each run
The python garbage collector is a large source of performance troubles, we run
it right before the timed section to reduce the change for the gc to add noise
to the benchmark.
skip ignored directories if -i or --all not specified
$ hg init t
$ cd t
$ echo 'ignored' > .hgignore
$ hg ci -qA -m init -d'2 0'
$ mkdir ignored
$ ls
ignored
$ hg purge -v --no-confirm
$ ls
ignored