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.
With my suggested change to `LoadConfigForSection`, this would become:

```go
app = new(Application)
if err = LoadConfigForSection(nil, "default", app, configFile); err != nil {
        return
}
```

Nice to get rid of the type coersion.