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.
The code in this function is a little hard to read what w/ the anonymous struct and the anonymous function. Maybe the function implementation could be before the for loop instead? Something like:

```go
sendToServer := func(server, url, msg string) {
        ... implementation ...
}
```

And then in the loop:

```go
go sendToServer(server, url.String(), string(msg)
```