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 request JSON template values of AcquisitionEra parameter