Refactoring libcontainer to avoid cyclic dependencies in the future.

This change will make future work inside libcontainer easier since the API is separated from the internal implementation.
Nice idea. I have integrated this idea, but it does not help get rid of the conversion function since we use 'Context' to pass the mount label.
Do you want me to get rid of the use of Context for mounts? This will break docker, but the fix will be straightforward.