Added tests to keyword model and DRYed it up

As a result of tests discovered that our School Word Counter model was not
wired up properly to school and reference word. Extracted some methods from
the keyword aggregation model to make it more readable and modular.
Merge branch 'master' into keyword_model
Merge pull request #50 from devdame/keyword_model

Keyword model