CBQE-683: add dynamic queries to system-test

Adding new QueryBuilder class which monitors
active workload for help generating smart range queries.

There will be a new param in the import template command
specifying which key in the template is indexed

python cbsystest.py import template --name "default" --kvpair '"email":"$str10@couchbase.com" ' '"city":"$str5"' --indexed email

Indexed param tells querybuilder to watch the email key in the template for generating queries.
It is assumed user already created the ddoc that indexes on this key.

Query command syntax will be updated as well. by default we do startkey/endkey queries.  extra can filters can be added like so:
python cbsystest.py run query  ...  --include_filters startkey_docid endkey_docid

Or removed (no range)
python cbsystest.py run query  ... --exclude_filters startkey endkey

Or manually specified

python cbsystest.py run query  ... --startkey abc  --endkey zzz

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