Track whether dataset collections have been populated yet.

Still hoping for dataset collections to be effectively immutable once populated - but dynamic output collections may require them to be sort of likely `final` fields in Java (analogy courtesy of JJ) - allowing them to be declared before they are initialized or populated.
More work on dataset_collection being in un-populated state.
Rebase into output collections.
WIP: Parse dynamic discovery information from tool output collection definitions.