Troz will disable spells that are misconfigured (Feature #8)

troz.py
=======
    * Calling new lib/config.py:load() instead of opening up config file
        directly

spells/__init__.py
=================
    * Added VALIDATED element to store all spells that pass validation
    * ALL is still a list that holds all spells

lib/spell.py
============
    * Added documentation
    * Added config element that is used to specify required configs for
        a spell

lib/config.py
============
    * New file
    * `load()` function will open the specified config file, read it
        with ConfigParser
    * The config object is now flattened out
        config['parent']['child'] => config['parent.child']
    * Then it will look at spells's `config` element and validate the
        config. If validateion fails, a warning will be printed out and
        then the spell will be removed from spells.VALIDATED

spells/*/spell.py
=================
    * Added new config element
    * Added documenation
Converted save format from pickle to JSON
Created lib.registry which will broker spell/test registration.

Rather than lib.spell.BaseSpell and lib.test.Shaman do their own
registration / tracking, this functionality has been extracted and
abstracted to lib.registry.

lib/registry.py
==============
    * The new file, contains registration and quering functions

lib/config.py
=============
    * Added documentation
    * Config now disables spells via registry calls

lib/test.py
===========
    * Added documentation
    * Added new function to help with command line arguments
    * Now registers spell tests via registry calls
    * Gets assiciated spell using registry calls

spells/__init__.py
=================
    * Removed autodiscovery code and move it to lib/registry.py
Added documentation, fixed wrong tense in weather message
Removed code duplicated by lib.registry. Now registers using standard calls
Fixed bug where there could be duplicate routes in lib.test

lib/test
========
    * Fixed bug in WebMock.route
    * Now filters out possible duplicates before adding
        new route
Fixed grammer issue with openWeatherMap
Renamed variable output => expect in spells/ddg/test.py
Added command line arguments to troz.py (Feature #7)
Added new "awesome" spell :)
Added a new last-resort, catch-all spell
Added new configs for new spells
Added documentation (Feature #2)