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.
Create does not necessarily need to be called by a super user (but certain functionality will). A container can be delegated to a subuser such that being root is not required. Those parts that require super user will be documented and/or checked at runtime.

Create cannot be atomic in some senses of the word since we require many kernel operations (if our process crashes during a create, the container will be partially around). Undoing some of our work is also quite hard to do, but I believe it is the route we should take. Added more docs.

Added a ContainerFactory to be explicit.