Changed the big if tree to a more sensible dynamic method. Yay functions!

Also changed the formatters to be more independent.
Fixed PEP8 stuff and moved to epydoc docstrings

Also reworked parts of the API to have a more logical wording.
simplified module structure