Add lazy_load utility function.

Adding lazy_load utility function, allowing tasks to be passed into
work functions with dependency analysis. Intended to support cases in
which task results may be loaded incrementally during task execution,
rather than loaded pre execution.

Introduces a TaskBase-derived class, LazyTaskContainer, which dispatches
the TaskBase interface across the contined task collection. Updates
TaskBase interface to support "unload" abstract method.