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.
Not sure if it applies here, but one idiom that's widely used is to start w/ `iota + 1`, or to explicitly add an `UNKNOWN` as the first (i.e. zero) value in the sequence. This makes it possible to distinguish btn an unspecified/uninitialized LogLevel and a genuine CRITICAL event. If you know that you want CRITICAL to be the default, then how we have it is fine.