Cleaning tests a bit.
Massive refactoring. Moving things in separate directories. Splitting Tag into three classes.