setup.py-based install and other fancy stuff

Highlights:
1. support for more free-form install layout — install paths are written to `portage.const` as necessary, Python modules can lie in site-packages,
2. replace Makefiles with fully-featured `setup.py`,
3. support running tests on installed copy,
4. support full build + install testing via travis-ci — we test, then install, then test the installed version,
5. remove extraneous executables from `/usr/lib/portage/bin` — install them directly to `/usr/bin` or `/usr/sbin`.

I think that's all major points. This stuff passes tests and works fine for me but some extra testing would be advised. I've kept the main Makefile for now but it only wraps `setup.py` calls. However, the changed install layout breaks the current ebuild, so in the end I guess we're going to remove it along with introducing the new ebuild.