Fix another possible glitch in the Tier-0 plugin

normal-archived and aborted-archived are final status and therefore
no transition from them should be admitted.
Fix up the DBS3Uploader and modify it to support an upload only mode.  Kill
off SQLite in DBS3Buffer and DBSBuffer.
remove t0wmstats dependencies - just use reqmon to create
Fix EventBased algorithm dropping zero event lumis

The current mask definition performed by the EventBased splitting
algorithm on non-mc input files can lead to missing lumis in the output.
This occurs when an input file has zero events in the last lumis, because
the cmsRun process will stop once it has reached the max events and won't process
those eventless lumis. To fix this, avoid passing the maxEvents parameter
when configuring the mask of the last job in a file, the skipEvents parameter
will suffice and the job will run over the remainder of the file.

Many assertions changed in the unit tests, since we change from having
always a max events to having it only on intermediate jobs in a file.
retry replication when it fails
add t0-operator permission
fix prep id search and make detail page not draggable
Make sure the input run white list is passed to the job splitting
algorithm.
Fix issues with Oracle and DBS3Upload.
Merge pull request #4358 from sfoulkes/parallel-dbs3

Fix up the DBS3Uploader and modify it to support an upload only mode.  K...
Improve the code that passes run white and black list to the job splitting
parameters so that it doesn't break other things.
Fix Block policy accounting of lumis

When a run white/blacklist is present, the accounting of lumis is screwed up
and it only reports a number of lumis equal to the number of runs accepted in a block.

Unfortunately, DBS doesn't return block level information on runs and lumis
when calling the listRuns function. So the solution is the following:

- Check first with listRuns and apply run black and whitelist.
- If there is a single run in the block, and the block passed then no need to recalculate lumis.
- However if the block has more than one run, and the list of blocks in the run was affected
  by the run white/blacklist then recalculate the event/file/lumi counts by pulling full file
  information from DBS. This is expensive but we expect the case to be rarely present.
Merge pull request #4368 from sfoulkes/run_whitelist

Make sure the input run white list is passed to the job splitting
Merge pull request #4367 from ticoann/prep_id_fix

fix prep id search and make detail page not draggable
Merge pull request #4365 from ticoann/t0_operator_permission

add t0-operator permission for wmstats
Merge pull request #4362 from ticoann/replication_retry

retry replication when it fails
Merge pull request #4361 from dballesteros7/Fix-EventBased-Tails

Fix EventBased algorithm dropping zero event lumis
Merge pull request #4360 from dballesteros7/fix-tier0-plugin-races

Fix another possible glitch in the Tier-0 plugin
Merge pull request #4359 from ticoann/remove_t0wmstats_dependency

remove t0wmstats dependencies - just use reqmon to create
0.9.37

Signed-off-by: Stephen Foulkes <sfoulkes@fnal.gov>