SERVER-2193 Support for multi field sparse index

Multi field sparse index can work in two modes controlled by the new
sparsePolicy option. When sparsePolicy is not set at all or set to the
string "exclude" the rule for the sparse index is: "exclude a document
from the index if all index fields are missing from the document". This
is the default.

Documents where some of the index fields are missing will
have those fields stored with null in the index in the same way as for
standard compound indexes with missing fields.

If, on the other hand, sparsePolicy is set to "include" the rule for the
index is: "only include the document in the index if all index keys are
present in the document".

The file jstests/index_sparse3.js is a copy of the existing
jstests/index_sparse2.js and tests the "include" policy in the same way
as index_sparse2.js test the "exclude" policy.