Make robust merge jobs

Add the skipBadFiles flag to the input source in merge jobs
in order to avoid failing the merge for a single missing file.
When a successful merge job comes back with skipped files
these are added to the ACDC collection for the merge task
for posterior recovery.

Additionally, now CMSSW steps will be declared failed
if no output files are produced. This way the scenario
where all files were skipped is not counted as a success and also
allows to catch glitches when the cmsRun process fails to process the input
but stil returns with exit code 0.

This is only enabled for ParentlessMergeBySize.

Fixes #4476
Remove site lists for second-level tasks

Fixes #4491
Extend LHEStepZero support

Include a new option that indicates if we are processing
lhe input files instead of forking a generator in cmsRun,
this way the input source options are set correctly
to read n events per job.

Fixes #2090
Support a many-to-many CMS site to SE relation

Make sure that data is read properly from siteDB when building
lists of sites from a SE, taking into account that a se can be
shared by many CMS sites.

Update the test emulator such that the unit test works when
disabling the emulator in it.
Merge pull request #4568 from dballesteros7/remove-sitewhitelist-for-second-level

Remove site lists for second-level tasks
Merge pull request #4567 from dballesteros7/LHEStepZero-Reloaded

Extend LHEStepZero support
Merge pull request #4566 from dballesteros7/RobustMergeJobs

Make robust merge jobs
Merge pull request #4576 from dballesteros7/multipleSE-insertion

Support a many-to-many CMS site to SE relation