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
Adding support to write files into sub-user space

Current (CRAB2) LFNs support LFNs that look like

/store/user/lpctlbsm/meloam/blah/blah

Where lpctlbsm is the group name. Not only is it really conveniant
to be able to keep an idea of whose files are which in the group storage
(i.e. du -ckhs or dcdu -ckhs), but end-users are going to expect their
files to end up on the same place, regardless of what tool was used to
produce them
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
Bugfix StdBase DQMHarvest validation

Simply a code error
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.
Merge remote-tracking branch 'origin/feature/subgroup-storage'

Add LFN rules to allow storage in subgroup space i.e.:

/store/user/lpctlbsm/meloam/foo/bar/baz
Merge pull request #4240 from dballesteros7/fix-reqmgr

Bugfix StdBase DQMHarvest validation
Do something crazy

I will now revert a revert so something something something

After that I will revert this reverted revert so I can get things back
to normal.
Revert Revert Revert

This reverts a previous commit that reverted a previous commit. Solid.
Merge pull request #4252 from PerilousApricot/bugfix/revert-a-revert

Do something crazy
0.9.28

Signed-off-by: Andrew Melo <andrew.melo@gmail.com>
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