radosgw-agent.py: refactor, enable overrides
radosgw-agent.py: refactor, enable overrides

Refactored the radosgw-agent.py code so that it
is structured more like existing teuthology
tasks.
Additionally, added code to enable:
using the override field in YAML files,
specifying which radosgw-agent github branch
to use checkout and for the YAML file to
specify one of the following: a full sync,
an incremental sync and the starting of the
test radosgw-agent server (previously the
server was always started by this task).

Signed-off-by: Joe Buck <a95e51950b61b017a762bcc8a962bac0b1a073a0@gmail.com>
Reviewed-by: Josh Durgin <51652c783f70f5b272ebd02f1fd20d3af7a2449f@inktank.com>

michaelsevilla/teuthology,t-miyamae/teuthology,t-miyamae/teuthology,SUSE/teuthology,dmick/teuthology,yghannam/teuthology,tchaikov/teuthology,ivotron/teuthology,dmick/teuthology,ivotron/teuthology,SUSE/teuthology,caibo2014/teuthology,ktdreyer/teuthology,zhouyuan/teuthology,SUSE/teuthology,yghannam/teuthology,dmick/teuthology,dreamhost/teuthology,zhouyuan/teuthology,caibo2014/teuthology,tchaikov/teuthology,robbat2/teuthology,dreamhost/teuthology,robbat2/teuthology,ktdreyer/teuthology,michaelsevilla/teuthology,ceph/teuthology,ceph/teuthology