Fix how setup.py identifies the Mercurial version.
There is a problem with setup.py where it will not identify the Mercurial
version properly when not being ran in within a repository even if
mercurial/__version__.py exists.
To fix, use mercurial.__version__.version when available before defaulting
to "unknown". (Using mercurial.util.version() is not an option due to a
dependency issue where osutil can be referenced before it is built.)
hg init test
cd test
echo foo > a
hg ci -Ama
hg up -r0000
echo bar > a
echo % should issue warning
hg ci -Amb
hg up -r0000
echo stuffy > a
echo % should not issue warning
hg ci -q -Amc
hg up -r0000
echo crap > a
hg branch testing
echo % should not issue warning
hg ci -q -Amd