Refactor base formatters a bit
Add some extra formatters
Create and configure test suite in setup.py