SDK proposal.

- to create, delete, list secondary index.
- to query secondary index.

Change-Id: I4886625f4f8b6f316c415bf095102c8e684afc28
Reviewed-on: http://review.couchbase.org/43774
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Tested-by: Pratap Chakravarthy <prataprc@couchbase.com>
Collatejson: handle special character in strings.

BugID: CBIDXT-276
- added unit test case SpecialString to simulate this bug.

Performance profile.
  BenchmarkDecode-8  1000000 2935 ns/op   552 B/op 14 allocs/op (before)
  BenchmarkDecode-8   500000 7379 ns/op  1785 B/op 42 allocs/op (after)

Change-Id: Ida881c263e416f6696b2884fb6fcd3df73ba6fc2
Reviewed-on: http://review.couchbase.org/43892
Reviewed-by: Sarath Lakshman <sarath@couchbase.com>
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Tested-by: Pratap Chakravarthy <prataprc@couchbase.com>
collatejons: Do not insert space between elements.

Change-Id: I0feee97b6b4bef953d6b672591e842dded22393b
Reviewed-on: http://review.couchbase.org/43893
Reviewed-by: Sarath Lakshman <sarath@couchbase.com>
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Tested-by: Pratap Chakravarthy <prataprc@couchbase.com>
Queryport API fine-tuning.

- made client.go API to generic.
- added SecondaryKey and IndexStatistics types in common/index.go
- export ResponseReader{} interface to consume queryport response.
  - protobuf.ResponseStream{} implements ResponseReader{} interface.
- updated scan_coordinator as per new API.
- updated n1ql integration as per new API.
- updated test-cases.
- updated scripts under tools/ directory.
- projector had to use adminport address obtained from ns_server.
  - remove adminport.listenAddr parameter from configuration.

Change-Id: I430f5c49507c8fd8f0ae6fc0b014e01ce14f4ab6
Reviewed-on: http://review.couchbase.org/43950
Reviewed-by: Sriram Melkote <siri@couchbase.com>
Tested-by: Sriram Melkote <siri@couchbase.com>
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Tested-by: Pratap Chakravarthy <prataprc@couchbase.com>
Bugfix: Adapt to new queryport API.

Change-Id: Ie72db6302315d8df7fbd3a6e6d0437314d3b4a10
Reviewed-on: http://review.couchbase.org/44005
Reviewed-by: Sriram Melkote <siri@couchbase.com>
Tested-by: Sriram Melkote <siri@couchbase.com>
querycmd/scanner: Fix nil key for low/high scan keys

Change-Id: Icd0bbfe05aaef5174822102d4a20532236c7b357
Reviewed-on: http://review.couchbase.org/44009
Reviewed-by: Sriram Melkote <siri@couchbase.com>
Tested-by: Sriram Melkote <siri@couchbase.com>
Merge branch 'unstable'

Fixes from unstable that make client API more strongly typed,
fixes to querycmd and fix that breaks when special chars appear
in data in collation.

Change-Id: I3436499488735ff4f7565ba527606ad9390df6a0