NuGet package restore.

Added some comments.
Removed explicit types for containers and files - instead now just have nested types and static properties for containers and files respectively (this may change in future).