Completely rewrite design
Move setup.py
Milestone: Base design laid out
Change version
Milestone: implemented up to untag