MB-12389 Handle Nil Secondary Keys

Projector sends Nil secondary keys so old indexed entry for
the document can be deleted. This helps to clean up index
if the indexed field gets deleted in a document as part of an update.

The fix makes sure Nil keys can be handled by kv.go(no need to
run json encoder on these) and the slice writer can skip doing
db updates for such keys.

Additionally, if an old entry for such a document is detected,
both main and back index are cleaned up. Earlier only main index
was getting cleaned up.

Change-Id: I890e8a2007c3f00953a905c98d62936a0a74edc9
Reviewed-on: http://review.couchbase.org/43466
Reviewed-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>
Tested-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>