Change TaskExpressions to iterate over TaskKeys

This allows TaskExpression to expand parsing tasks from other file
references in future. A per request TaskConfig cache is introduced
to avoid loading the same file again in the flow. This change
removes the dependency of TaskTree on TaskConfigFactory.

Change-Id: Id530af601e87451534030cc43d945fafc5826e87
7 files changed