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.
More string manipulation nit-picking, but maybe this is a case where []string makes sense: `msgs := make([]string, 0, 2)`, `msgs = append(msgs, "Error message here")`, `if len(msgs) > 0`.