Basic version of libcontainer API.

This version has mostly the behavior available today and the
functionality agreed upon in other PRs. Further changes will be sent as
smaller PRs for discussion.

This PR is meant to be the already agreed-upon components of the API (note that a lot of functionality is missing). The reviewing is getting harder so we'll try to get this in, and then make the smaller changes with more discussion in smaller PRs.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)
Yes, these should not be pointers, interfaces in Go are already pointers to the underlying type