Convert config loading to TOML, refactor appropriately

This PR refactors SimplePush to use TOML config loading, changes the existing portions to a new Application based init system, and config loading for each section similar to heka's.

A variety of Go idiom portions were also cleaned up, the logger was factored into an extensible logger with a uniform interface.

Fixes Issue #35.

Awaiting r+ from @jrconlin, @rafrombrc.
Genuine (i.e. not rhetorical) question: Do we really want to be embedding HasConfigStruct inside of the Logger interface? They seem on the face of it like separate concerns. Our Loggers *will* implement HasConfigStruct, of course, but that's different than specifying that something is not able to be a Logger unless it does. But maybe this makes sense in a way that's not immediately obvious.