When killing a job for timeout, check if a report exist before writing the fake-one
Remove Autoincrement check for MySQL

From the MySQL documentation:

```
InnoDB uses the following algorithm to initialize the auto-increment counter for a table t that contains an AUTO_INCREMENT column named ai_col: After a server startup, for the first insert into a table t, InnoDB executes the equivalent of this statement:

SELECT MAX(ai_col) FROM t FOR UPDATE;
InnoDB increments the value retrieved by the statement and assigns it to the column and to the auto-increment counter for the table. By default, the value is incremented by one.
...
If the table is empty, InnoDB uses the value 1.
```

In case of a server restart we have security that the auto-increment will be preserved to the max job_id present, the only case where removing this check might cause problems
is if the most recent workflow was deleted and so the index in wmbs_job is lower than before and then you restart MySQL before the TaskArchiver/CleanUpPoller cleans couch. To account for this, this patch adds support in CMSCouch to specify a callback function on conflicts during a commit or queue of documents. For the ChangeState, job and fwjr jobs document are overwritten when a conflict occurs without generating conflicts (i.e. not using all_of_nothing).

The benefit of this change is avoiding errors when the JobCreator is restarted after a couch crash.

Fixes #4005
fix the typo in the jobstatus
Implement checksums in LCGImpl backend module

Add support for verifying the adler32 checksum when available
through the lcg-ls -l command. Also add general support
for passing the locally calculated checksums of the files
to the StageOutImpl objects, this will enable the checksum
verification in the rfcp-CERN backend plugin as well.

For the LCGImpl plugin the checksum is obtained as follows:

echo "$LCG_OUTPUT" | sed -nr 's/^.*\s([a-f0-9]{8})\s*\([aA][dD][lL][eE][rR]32\)\s*$/\\1/p'

Where LCG_OUTPUT=`lcg-ls -l -b -D srmv2 <SURL> 2>/dev/null`

The expected format of LCG_OUTPUT is a multi-line string where one of the lines has the following format:

* Checksum: <8-hex character string> (ADLER32)

Or

* Checksum: <8-hex character string> (adler32)

If this line is not present then it is assumed that the checksum is not supported and the check is skipped,
but if a checksum is present then it will be compared and will fail with exit code 63011 if it doesn't match.
Error code is the same as for size mismatch.

Fixes #4185
remove workloadsummary installation from reqmgr and move to reqmon
ReqMgr requests clone implemented.

A few functions / methods signatures changed in the ReqMgr files.
Requests clone implemented: PUT, /reqmgr/reqMgr/clone/requestName, unittest
for clone and reqmgr.py clone interface.
reqmgr.py has --allTests to run over everything the script is capable of for
testing.
Clone request shall fix: #3984, #3944
lexicon add dbs user
Allow arbitrary collection name on ACDC request

A CollectionName parameter can be specified in the request arguments
if not specified the  collection name defaults to the old request name
as it has done so far.
Fix error display in workload summary

Display all errors correctly

Fixes #4217
Make component sleeping configurable

Factor out the sleeping part of the component of the component harness.
In some cases, simply sleeping isn't the best idea, this change makes it
so subclasses of BaseWorkerThread can choose how they sleep.
Revert Revert Revert

This reverts a previous commit that reverted a previous commit. Solid.
deleting job summary from wmagent summary on given condition
Implement override for PhEDEx injections

Due to the special setup of the T0/T2 at CERN
and the Bulk/Express processing in the Tier-0. We need
the ability to specify where the files should be registered
to in PhEDEx. This is done per spec, and all files
associated with the workflows from that spec
will be registered to the given site, regardless of the SE
available in the dbsbuffer table or custodial site
entry in dbsbuffer.

Also fix a unit teste in WMWorkload_t
Add support for CVMFS, based on HN conversation and identical to the CRAB bootstrapping code.
Merge pull request #4258 from bbockelm/cvmfs_support

Add support for CVMFS, based on the CRAB implementation
Fix broken stageout code

Combine fixes from @PerilousApricot and @hufnagel, the check
on the new stageout code is done without the use of a helper
to keep consistency with the rest of the executor code as
implemented in #4259.
The unit tests from #4251 are included and working.
Merge pull request #4261 from dballesteros7/stageout-code-fix

Fix broken stageout code
Merge pull request #4260 from dballesteros7/phedex-inject-override

Implement override for PhEDEx injections
Merge pull request #4220 from ticoann/jobstate_typo

fix the typo in the jobstatus (affect monitor update in submit paused status)
Merge pull request #4239 from yuyiguo/lexicon_fix

lexicon add dbs user