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.
Please use proper [inline struct declaration](http://eng-doc.int.s-cloud.net/guidelines/golang/style/#break-long-lines-on-parameters):

```go
return &containerLog{
	containerID:    containerID,
	entries:        NewRingBuffer(bufferSize),
	listeners:      map[ListenerID]chan string{},
	nextListenerID: 1,
}
```