CXX-189 Implement support for createIndex; remove ensureIndex and relate...

...d
I'm not sure. It would basically require doing:

current = {_keys, _options}.asTempObj();
std::set<std::string> keys;
current.getFieldNames(keys);
uassert(0, current.nFields() == keys.size());

Or something like that, on every update. Now, maybe that is OK? We are, after all, about to build an index. So I'm not worried about the overhead, exactly.

I guess if we wrapped that up in a validateUniqueFields(BSONObj&) function that wouldn't be so bad?

What do you think?