fix bug in file deletion in CERN stageout plugin

The last commit introduced a bug in the CERN stageout plugin that
made file deletions fail. Fixed that and also restructured the
DeleteMgr class to not use and exception handler as a flow
control mechanism. Also added a printout so some possible
error messages aren't supressed anymore.
Don't change file status while in upload only mode.
Merge pull request #4415 from sfoulkes/dbs3_fix

Don't change file status while in upload only mode.
Change SofTimeout default parameter value

SoftTimeout workflow parameter value changed from 167000 to 129600.
Fixes #4411
ReqMgr - further Ops issues, fixes

-added access control when deleting requests
-Added request state transition from completed to aborted.
    Fixes #4413
-Merged LFNs bases on the main assign page as well as on the
    assign/one are now the same offering complete list of bases
    regardless of the request type which was the case on the
    assign/one page.
    Fixes #4343
ReqMgr - Fix for ACDC-Resubmission Campaign, etc

-Added request state transition from completed to rejected (last agreement,
    the previous was to aborted).
    Fixes #4413
-ACDC (Resubmission) requests should inherit the Campain field.
    from the original request.
    Fixes #4378
-reqmgr.py script tests Resubmission requests.
-clean-up of some unsed import statements.
Merge pull request #4419 from zdenekmaxa/reqmgr-ops-march-requests-03

Reqmgr ops march requests 03
ReqMgr - Processing, Production dead code clean-up

Entire two packages

WMCore/RequestManager/RequestMaker/Processing
WMCore/RequestManager/RequestMaker/Production

were unused, and just one class referenced from the unittests,
and even that was in vain.

Removing all files, tested on VM with reqmgr.py
Fixes #4420
Merge pull request #4421 from zdenekmaxa/reqmgr-dead-processing-production-code-cleanup

ReqMgr - Processing, Production dead code clean-up
ReqMgr delete request from CouchDB

Delete request when called deleteRequest() method from Oracle
as well as from CouchDB.
Passes all ReqMgr tests locally, however doens't work because
of a bug in CouchDB low level document delete: #4403 originating
from #4396 - once this low level problem is resolved, it
shall be fine. Tests added into reqmgr.py

Fixes #4289
Fix deletion of couch documents

Delete the fields in the document before commiting with _deleted = True,
make sure that WorkQueue replication replicates the deletion but avoids
creating deleted documents from other queues. Ensure the same in
WMStats.
Fix splitting page issues

Duplicate argument keys cause the object returned to the reqmgr
to be an array. Make sure that there are no duplicate keys,
also display the correct values for EventAwareLumiBased splitting.
Also fix modification of max time for merge.

Fixes #4409
Fix display of output datasets

Datasets produced by output modules that are never stored in merged
area were still reported by the listOutputModules function of WMWorkload.
Fix that by adding a flag that clearly marks transient and permanent
output.

Fixes #4422
Fix JSON missing lumi function

It was broken due to improper testing and old couchdb version.

Fixes #4338
Expose AutoApprove sites to ReqMgr

Also allow modification of move/replica subscriptions for custodial
and give a more descriptive parameter to the priority option.

Fixes #4356
Merge pull request #4423 from zdenekmaxa/reqmgr-delete-requests-from-couch

ReqMgr delete request from CouchDB
Open requests feature

Allows a request with an input dataset to continue acquiring and processing new
blocks after assignment. It works by continuously polling DBS for new blocks in the
dataset, and when found these are splitted as usual and queued in the global queue.

It changes the ReqMgr running state to running-open and running-closed, where
running-open means that the request is still looking for new blocks. running-closed
is equivalent to the old running state.

The criteria to move a request from running-open to running-closed depends on a predefined
timeout, which comes with the request schema. If not given the request will be closed
as soon as it starts running. The request can also be closed at any time
through the web interface or the REST API. Once a request is closed, it will continue
process the already acquired inputs and will stop polling for blocks.

The timeout counts from the last time a block was found (either closed or open).
This feature can only be used with workflows which take a dataset as input,
namely ReDigi, ReReco, MontecarloFromGEN.

Finally, this also fixes the reported issue when a single open block in a dataset
can prevent the request from being acquired. The new behavior is to ignore open blocks
in the initial splitting, and the request will be acquired as long as there is at least
one closed blocks. The continuous polling will only acquire closed blocks.

Also zero event blocks with no site will be ignored, all these ignored blocks will be accounted
on the RejectedInputs field of the global workqueue element.

Fixes #4400
Fixes #4373
Merge pull request #4424 from dballesteros7/fixDocDeletion

Fix deletion of couch documents
Merge pull request #4425 from dballesteros7/workqueue-open-requests

Open requests feature
Merge pull request #4426 from dballesteros7/HG1303-dballest

HG1303 ReqMgr