Fix broken test from last push
Ignore coverage files
Tons of refactoring as I continue to implement the template interface

* This adds a Settings class that will be used to store user
  configurable settings, for the time being it is used to configure the
  directory to be used as the base for config & cache files.

* Total overhaul on the test suite to utilize unittest now.

* Lots of general improvements