Trivial whitespace fixup

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Migrate back to setuptools so we can use extras

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Replace gittle with libgit2

When I made the decision to base on gittle, python support in libgit2
was a twinkle in libgit2's eye, so to speak.  Although I still kind of
like gittle more than libgit2, it's youth has a project has been a
sticking point for overlay-upstream-tracking for some time now.  For
now, it seems to make more sense to migrate to a libgit2 basis.

Eventually I may want to switch back, but for now it seems this will
enable me to move forward more quickly with overlay-upstream-tracking's
objectives as a project.

This commit refactors the tree interface into something that can be
supported by either underlying technology, and is freer of git-specific
abstractions, freeing up the way for future adoption of additional VCS
technologies as mix-ins, should that ever prove to be desirable.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Require >=portage-2.1 as a setup.py dependency.

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Fixup missing exception imports

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Fixup outdated comment

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>
Untested WIP implementation of file-tree loading and three-tier rules
hierarchy (global, system, repo).

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>