compute tree-root from drivers, rather than inside helper functions

This removes the duplicate tests from versions_from_vcs() and
versions_from_parentdir(), moving the two sides of the test into
git/long-version.py (for _version.py) and trailer.py (for
versioneer.py).

We now pass 'root' into those two functions. This should also fix the
bug in which running "path/to/setup.py version" from some other
directory would run git in the wrong directory.
test the "run setup.py from outside the tree" case

Related to Issue #15.
trailer.py: merge get_best_versions() into get_versions()
remove now-unused IN_LONG_VERSION_PY