rgw: abstract RGWProcess

RGWProcess is a generic request handler that sends request to the
workqueue for processing.
Add RGWFCGXProcess specialization. Later we'll add a new frontend that
will leverage that.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: add some debug output

Dump request environment when starting processing request. We used to do
it before, but it was recently dropped as part of a cleanup.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: add a load generation frontend

Still missing some pieces, but already generates requests.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: loadgen frontend read uid, init access key

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: sign loadgen requests

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: loadgen shutdown, error out on failures

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: loadgen, configurable num of objs, buckets

also fix request draining

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge pull request #1092 from ceph/wip-rgw-loadgen

Wip rgw loadgen

Reviewed-by: Sage Weil <sage@inktank.com>