Repackage?

First off:
This is a huge changeset, changing most of the codebase so I dont *expect* you to pull it.
It is more of an idea. If you like it: fine. If you don't I can live with it.

The structure of the library is not optimal, as I think. There is target.py where everything interesting happens, having 1500 LOC already and I am about to add a hundred more for my sessions feature.
It is not advisable to have such an "überfile" in a community project. Git is quite smart, but in general such a big file is not good with conflicts.
Additionally it is also not practical to edit this file and having it open several times because you want to look at different parts of it.

On the other hand: pulling this change makes it more difficult to merge changes from upstream/original. Also depending on the smartness of git and patch, but this is quite certain.


Some current statistics (from ohcount):

    Language               Code    Comment  Comment %      Blank      Total  File
    ----------------  ---------  ---------  ---------  ---------  ---------  -----------------------------------------------
    python                  147         65      30.7%         36        248  ./root.py
    python                  588        289      33.0%        140       1017  ./tcm.py
    python                  128         84      39.6%         30        242  ./node.py
    python                  409        231      36.1%         71        711  ./utils.py
    python                  296        102      25.6%         67        465  ./loop.py
    python                  984        276      21.9%        201       1461  ./target.py

This branch is tested manually as of this request, especially in terms of imports.
What is missing are some changes in the docstring at the heads and removing imports that are not needed anymore.