Fix so to transfer all kind of output files. Revisit exit codes.

In this patch I mainly attack the issue that output files that are not in the FJR are not injected to ASO. I also revisit the exit codes in cmscp.py. 
I would summarize saying that this patch contains the following four changes:
1) Add output files to the jobReport.json file if they are not in the FJR. This allows injection to ASO for all output files. This solves issues #4331 and #4369.
2) In PostJob, don't commit to ASO if neither transfer nor publication are needed. Brian agreed with this in the CRAB3 meeting from 13-August.
3) Prioritize cmsRun exit code over any other exit codes in cmscp.py. I.e. if cmsRun failed, we still proceed with trying to do the local stageout, but the exit code of the cmscp.py code and the exit code reported to Dashboard is the one from cmsRun. We agreed on that in the last CRAB3 meeting from 13-August.
4) Revisit exit codes in cmscp.py. This was a general request from Stefano, and we exchanged private e-mails on what exit codes to implement. I followed his proposal. This fixes for example issue #4349.

I tested 1) in my private instance and everything worked as I expected.

I am sorry that I mixed issues in one pull request. I want to avoid merging conflicts...