reqmgr2 september deployment candidate

1. validation change
   * all validation definition is moved to StdBase spec as
   * request creation validation is done in spec
   * request update validation is done workloadhelper (since update only happens through that)
   * all the argument definition is change to CamelCase
   * divide validation process from functional process in RESTEntity

2. check the permission for each request update. 
   * permission can be defined by DN, (sitedb group and role) as well as RequestType and status transaction. (to support StoreResult case)
   * still need to define correct group for each process.
   *
3. api changes: make REST api simpler than reqmgr.
   * all request related api starts with /data/request/  (i.e /data/request?team=some&status)
        * few categories, request, meta data (cmssw, team)
   * request creation uses 'POST' verb, and update uses 'PUT' (including clone)
   * basic get request with combination query support. (just infrastructure need to be tested)
   * need to document new APIs    

4. RESTApi.
    * create request   
    * update request 
    * get request information (by status, inputdataset, outputdataset, name, team,  

5. Unittest
    * use common spec definition for the unittest and ops script /data/reqmgr/
    * create the framework to test permission with fake hmac and DN.
    * Known problems: 
          * etag is not updated when request is updated causing cached value return.
          * hmac matching test fails when multiple test method is created in the same unittest
          * unittest currently accesses cmsweb-testbed for config cache which cause the Jenkins test fail.