Add TransientOutputModules to TaskChain

Same functionality as in ReReco, some modules can be kept unmerged if
necessary in order to reduce the output but allow subsequent processing.

The parameter per task is TransientOutputModules, also KeepOutput is still
valid and can be used to wipe all the output in the task to unmerged. If
KeepOutput is False then TransientOutputModules doesn't have any effect.

Fixes #4474
Include performance parameter in workload

First part of #4472, include the performance information that is now already
required but only stored in the schema. The performance information is stored by
task and can be different depending on the type of task.

Tasks like skims and second step TaskChain use their own estimate which is optional
and defaults to the top level value.

This is only the ReqMgr and Workload definition changes. After this we need the changes at the
agent level in the splitters but that is independent of cmsweb schedule.
Fix the initial location for pileup

It was set to the SEs instead of the CMS site names. Correct that.
Merge pull request #4512 from dballesteros7/fix-pileup-initial-location

Fix the initial location for pileup
Merge pull request #4508 from dballesteros7/RunningTimePrediction

Include performance parameter in workload
Merge pull request #4488 from dballesteros7/TaskChainDropOutputModules

Add TransientOutputModules to TaskChain