Add /store/mc/* to qualified lfn names. YG
refactor ErrorHandler code

The ErrorHandler takes care of job state transitions from ***failed
to either ***cooloff (picked up by RetryHandler) or exhausted (picked
up by JobArchiver). Introduce an intermediate state retrydone, to be
entered before a job reaches eshausted. This allows smarter retry
mechanisms that can decide for themself when to stop retrying.

For current retry mechanisms this is completely transparent and
stays inside the ErrorHandler, no changes are needed.

Also change the paused job kill script to switch a job to retrydone
instead of killed, this ensures that input files will be failed
and are addded to the ACDC workflow.
Bugfix for JobUpdater

One of the queries was failing in Oracle, fix this. Also
make it more resilient to transient errors when talking
to ReqMgr.
ReqMgr2 request injection prototype

-created new package DataStucts containing Request, RequestTypes and
    RequestStatus definition
-DataStructs/Request contains validation of input request arguments
-Service/Request.post - request injection method - entire ReqMgr1 injection
    flow is now covered, though a number of request arguments manipulations is
    not entirely figured out, but majority is.
    Spec instantiation and Couch storing finished.
-Service/Request.delete method implemented.
-reqmgr2.py client script able to create, delete, query requets in ReqMgr2.

@ticoann please review. basically each TODO designated block is a smaller or
larger topic for discussion.
ReqMgr1, 2 - StoreResults injection

Create StoreResults.json request template capable of injecting
into both ReqMgr1,2. Some requisite values e.g. CmsPath do not
seem to be accessed in the spec implementation.
Also, definition of splitting parameters changed compared to
how StdSpects/StoreResults.py defines them. So currently,
this new StoreResults request would be treated in ReqMgr exactly
the same way like other request types, no special checks or
assignment conditions, roles, etc exist yet. This is for ReqMgr2.
add GQ LQ link and request alert for assigned, acquired and running status
Merge pull request #4702 from zdenekmaxa/reqmgr-storeresults-injection-and-template-2

ReqMgr1, 2 - StoreResults injection
Merge pull request #4701 from zdenekmaxa/reqmgr2-request-injection

ReqMgr2 request injection prototype
Merge pull request #4704 from ticoann/req_time_warning

add GQ LQ link and request alert for assigned, acquired and running status
Merge pull request #4655 from yuyiguo/lexicon-20130530

Add /store/mc/* to qualified lfn names. YG
Merge pull request #4700 from dballesteros7/patch-JobUpdater

One of the queries was failing in Oracle, fix this. Also make it more resilient to transient errors when talking to ReqMgr.
ReqMgr2 request injection extended, polished

-this patch depends on what comes in request/spec arguments validation in
    #4705
-validation of RequestName, software, scramarch added
-ReqMgr2 derives Requestor automatically, if a user specifies Requestor field
    it fails to inject (fixes 4238)
-Scenario should be removed from from ReDigi, ReReco templates after #4705
-all 10 request templates can now be injected to both ReqMgr1, ReqMgr2

This should go into July deployment of ReqMgr2.

@ericvaandering please review.
Fixes for DBS3 duplicate insertions

1. Update DBS3 error message catch for duplicate insertions
2. Implement a check on Proxy Errors where the uploaded will check in the next polling cycle
   if the blocks were really inserted or not, the polling cycle delay should suffice
   for the block to appear in DBS3 if they were really inserted which is usually
   the case with DBS3 Proxy errors. If they are found as injected then mark them in DBS3Buffer.

Fixes #4673
Merge pull request #4707 from zdenekmaxa/reqmgr2-request-injection-2

ReqMgr2 request injection extended, polished
0.9.78

Signed-off-by: Zdenek Maxa <zdenek.maxa@cern.ch>
temp fix for when site information is missing from fwjr. need to find why information is missing
Fix query outdated in Oracle
Workload validation refactoring

Implement a new way of defining and validitng the request arguments
in the WMSpec objects, reorganize them to make it simpler
and clearer. It simplifies some parts of the ReqMgr1 when
creating requests and reduces the meddling with request parameters.

Basically what a requestor gives can be passed to the specs
and these will take care of parsing and validation procedures.

Major changes are:

- LHEStepZero is removed and contained in MonteCarlo
- Splitting arguments in creation have their names simplified
- EnableDQMHarvest becomes EnableHarvesting and needs a True or False value

Fixes #4224
Merge pull request #4641 from hufnagel/refactor-errorhandler

refactor ErrorHandler code
Merge pull request #4705 from dballesteros7/workload-params

Workload validation refactoring