Initial version of libcontainer API.

Docker-DCO-1.1-Signed-off-by: Victor Marmol <vmarmol@google.com> (github: vmarmol)

This is an initial proposal of what a libcontainer API would look like. You can see it is in no way implemented :) This is primarily for discussion on the API, we can merge this and start working on the individual pieces one at a time.

The proposed API borrows heavily from lmctfy and libct with some changes to improve on those. Key aspects are:
- Container names as hierarchical path
- Separating Creating a container from Getting a container (the latter gets a reference to a running container)
- Containers as objects we can perform action on.

Any and all comments are welcomed :) I think the documentation on these may be a little lighter than I'd like. I can add more as it is requested.
We return the config we have on disk (container.json). It is an interesting point since that config won't reflect changes made outside of the scope of libcontainer. I can see arguments either way. We may want to go with some things being read from the machine, and others being checkpointer. I think we can start with checkpoint (since it is simpler) and move to the other if we want to. WDYT?

The nice thing about the checkpoint may be to do locking through them. Although that has some problems on its own.