* Removed the uassert that checks for single field keys for sparse index since the assert is
wrongly implemented and will never assert. Also, the sparse index code actually allows sparse
indexes with multiple keys (compound index).

* Added a new mode to sparse index that, when enabled, uses the following semantics; add the
document to the index if all index keys for a compound index are present. This is different
from the "default" sparse semantics which is; exclude the document from the index if all
index keys are absent.