Logging api http

HTTP endpoints and tests for the logging api.

-jeff
Channels may be passed to the `range` keyword and work as you might expect. So, as Bernerd suggested before, this whole block can be replaced as

```go
go func(...) {
    inc := make(chan agent.ContainerInstance)
    c.Subscribe(inc)
    defer c.Unsubscribe(inc)
    for instance := range inc {
        outc <- instance
    }
}(...)
```