Refactor Logger to use template mixins and string mixins to eliminate boilerplate.

This still may not be the optimal way to do this, but it works pretty well.
Merge pull request #2 from irritate/dev

Refactor Logger to use template mixins and string mixins to eliminate bo...