changes to DQM harvesting

Change the Harvest job splitter to have two distinct modes, Periodic and EndOfRun that do not overlap.
In StdBase automatically add an additional EndOfRun DQM Harvest task if a Periodic DQM Harvest task is
specified. The EndOfRun task will trigger when the Periodic task is complete.
Implement a reasonable API to get the details - events, lumis, parents - of each file of a dataset

Conflicts:

	test/python/WMCore_t/Services_t/DBS_t/DBSReader_t.py
Merge pull request #4459 from hufnagel/harvestchanges

changes to DQM harvesting
Store correctly the SizePerEvent and friends

Make sure that SizePerEvent is stored correctly in CouchDB and Oracle
if present, it goes in hand with RequestSizeFiles and RequestNumEvents
but these two are not really present in any request schema
so they will be always zero, only SizePerEvent is mandatory.

Also fix the clone and assign of requests pre-upgrade.
Merge pull request #4540 from dballesteros7/straight-out-params

Store correctly the SizePerEvent and friends
Fixed typo in test decorator. See pull #4539
Merge pull request #4539 from bbockelm/crab3

listDatasetFileDetails API for CRAB3
Fix broken DBS3Buffer creation in Oracle

It was broken in 0.9.58, just a typo.
Merge pull request #4543 from dballesteros7/fix-oracle

Fix broken DBS3Buffer creation in Oracle
0.9.59

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