testing: allow Hypothesis to enable extensions
This adds support for testing extensions, including both tests
that extensions don't change behaviour and test for specific
commands.
We use the precondition system to determine what commands are
available to us. If we never use any commands enabled by an
extension then that extension is *skippable* and should not
have changed the behaviour of the test. We thus rerun the test
with an environment variable which is designed to turn off the
extension.
lib - sys sys
mercurial - sys sys
hgrc.d - sys sys
9diff.rc - sys sys
factotum.rc - sys sys
rc - sys sys
bin - sys sys
9diff - sys sys
hg - sys sys
sys - sys sys
lib - sys sys
python - sys sys
lib - sys sys
python2.5 - sys sys
site-packages - sys sys
hgext - sys sys
+ - sys sys
mercurial - sys sys
+ - sys sys
mercurial-VERSION-py2.5.egg-info - sys sys
src - sys sys
cmd - sys sys
hg - sys sys
+ - sys sys