CBQE-1261: support for 'remote' flag in xdcr test specs

When 'remote' is used in a test spec then a remote phase is created and sent to remote site and monitored locally.
This is primarily for xdcr use cases
{
    "name" : "simple_load",
    "desc" : "load items at 1k ops",
    "workload" : {"spec" : "s:100,ccq:simplekeys,ops:1000",
    "remote" : "10.0.0.11"},
    "template" : "default",
    "runtime" : 20
},

Change-Id: I12c2acff35be603075351b3ba6f762bff4f55e6e
Reviewed-on: http://review.couchbase.org/26069
Reviewed-by: Chisheng Hong <chisheng@couchbase.com>
Tested-by: Tommie McAfee <tommie@couchbase.com>
CBQE-1263: support local+remote site ddoc creation

This change allows representing ddoc creation as a list in test spec.
This is useful for including local/remote definitions in same phase.
i.e..
"0":
{
    "name" : "create_design_docs",
    "desc" :  "create_design_docs",
    "ddocs" : [{"create" :
        [{"ddoc":"ddoc1",
        "view":"local_default_view1",
        "map":"function(doc){emit(doc.key,doc.key_num);}",
        "bucket":"default"},

        {"ddoc":"ddoc2",
        "view":"local_sasl_view1",
        "map":"function(doc){emit(doc.key,doc.key_num);}",
        "bucket":"saslbucket"}]},

        {"remote" : "10.0.0.5",
        "create" :
        [{"ddoc":"ddoc1",
            "view":"remote_default_view1",
            "map":"function(doc){emit(doc.key,doc.key_num);}",
            "bucket":"default"},
        {"ddoc":"ddoc2",
        "view":"remote_sasl_view1",
        "map":"function(doc){emit(doc.key,doc.key_num);}",
        "bucket":"saslbucket"}]}],

        "runtime" : 10 }
    }
}

Change-Id: Ifd2c3dea7c0442cc22b7b109049e371cd1b49106
Reviewed-on: http://review.couchbase.org/26071
Reviewed-by: Chisheng Hong <chisheng@couchbase.com>
Tested-by: Tommie McAfee <tommie@couchbase.com>