Rework the partial loading system

The partial loading is now determined at run time by the program and not
by the persisted program. Lists and optional CompositeNode attributes
can be partially loaded.