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.
This kind of bulk update is always problematic in the error cases. Also, it is quite awkward to use as you have to remember or get hold of the original configuration and then modify the parts you want to update. Some updates may not even make sense for a container with running processes, such as modifying the set of namespaces which are used.

Would it not be far simpler to define fine-grained methods for changing the parts of the configuration which really can be changed? In that case, failures usually would be atomic too.