Remove filesystem implementation bias from API

Bring the API into line with the IRC discussion, July 17.

There seemed to be a consensus that the API should be dealing with individual containers and collecting together containers and allowing access from other processes should be the responsibility of the caller.

- Remove `Path()` and add `Id()` in `Container` interface. Update description.
- Remove `Load()` and modify `Create()` in `Factory` interface to remove references to path.
    Update description of `Create()`.

The `libcontainer` API deals only with individual `Container` instances, and does not
provide a 'reaccess' method. `Id()` is exposed for diagnostic information.

Docker-DCO-1.1-Signed-off-by: Steven Powell <spowell@gopivotal.com> (github: Zteve)
@rjnagal Hi -- glad you could join us!

Memo is a type of function which is "registered" by the user and libcontainer calls this function (supplying a Memento private state) whenever it needs to.

The idea is that the user controls persistence of this information, but has no need to know what is in it. Later the user can supply libcontainer with one of these mementos and we can recreate a Container from it.

The motivation is to avoid the API being forced to record a file system-persisted state.

Does that help? Could we explain it better?