Skip nil secondary keys

If a nil secondary key is received, indexer needs to skip it.
KV Insert - If nil secondary key is for a new insert, it can be skipped.
KV Update - If nil secondary key is due to an update in KV, the old
back/main index entries need to be deleted.
Move the scan related code to range.go

persist.go now has code related to index insert/update/delete
range.go now has code related to index scan