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.
Hrm, seems like a lot of extra converting from []byte to string and back again. I see there's a comment in Decode function about URLEncoding.Decode() returning a different result than URLEncoding.DecodeString(), do we know what that's about? Seems like it'd be nice (and would save a number of memcpys) if we could just work w/ []byte the whole time.