Enforce integer processing versions

This extends the support in WMWorkload and WMTask to include a
processing string along with the processing version and acquisition era.
The processing version is now enforced to be an integer and the lfns
are built as following:

<acquisitionEra>-<processingString>-v<processingVersion>

The job reports contain all these three elements for each output file
however the DBSBuffer will only use the processing version and acquisition
era.

The ReqMgr changes to allow the specification of these parameters in the
assign page, also updated the tests and templates. Include a test template
for TaskChain with multiple tasks, multiple acquisition eras and versions.

Fixes #4007

- added assert into reqmgr.py to check for correct request state
- modified template values of AcquisitionEra parameter
make rejected workflow to be archived and remove from tracking in wmstats
Merge pull request #4402 from zdenekmaxa/dballesteros7-proc-ver-fix

Enforce integer processing versions
Merge pull request #4414 from ticoann/make_reject_archived

make rejected workflow to be archived and remove from tracking in wmstats
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.