Implementation of datastore.Indexer interface for view indexer
Prepare statements: add cache for prepared statements

Add a cache so that PREPARE can save the plan.Prepared it creates
for later use by EXECUTE statements. Also implement json.Unmarshal
in some more plan operators.
MB-12893. Incorrect serialization of rangekey in design document
Remove uncomparable interface comparison.
Misc fixes & cleanups for view indexes
Couchbase datastore: Ignore keys that are not found when doing bulk get.

If BulkGet returns an error, check if it is "Not Found" and proceed as
normal if so . In this case, BulkGet will return a subset of matching keys.
Implement sarging for AND.
Skip adding EntryKey for primary index scans
MB-12807 Ignore keys for non-existent docs in Delete

Delete API modified to return a list of keys that were actually
deleted, as well as any error encountered.
Datastore.Delete() - return deleted keys with error
fix returning clause in update statements
Implementations of json.Unmarshal for Prepare/execute
2i integration (not working)
Cache expression value.
Apply LIMIT more closely for DML statements.
MB-12898 #comment Revise descriptions of conditional functions.
Fix crash in DropIndex()
Implement indexer interface for datastore/file
Implement indexer interface for datastore/mock
Minor change to error message