Logging api

Reviewers:  @bernerdschaefer, @peterbourgon 

First pass at the internals of the logging API.  This is two layers thick.  There is a RingBuffer for log messages, and on top of this is a data structure that implements storage for and operations for each container.  (The RingBuffer probably should have been a separate submit.)

The next piece to be worked on will be the HTTP logging interface.
When you have more than 1 declaration in a row like this, wrap them in a `var` block.

```go
var (
    ls  = NewLogSet(3)
    cid = ContainerID(1)
    cl  = ls.getContainerLog(cid)
)
```