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.
Feels like a distinction without a difference: `ls` is also execution of a constructor. But it's a minor nit; if you feel strongly, no problems with this:

```go
var (
    ls  = NewLogSet(3)
    cid = ContainerID(1)
)
cl := ls.getContainerLog(cid)
```