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.
This nesting below is hard to follow. General Go idiom is to check for error and return if there is one, so success case code can stay unindented.