fixes #538 Correctly determine when we can use the updateById
optimization. Also, refactor LogOpUpdateDetails to be a prettier.
fixes #539 Call obj() on the nullKey generator so it stays valid inside of the keyset
fixes #541 Parse lock timeout properly
fixes #533 Fix a comical type-cast bug originally authored by yours truly
fixes #537 Do not build unique indexes using the hot indexer
fixes #542 Do not try to use a descriptor whose size is 0 - assume it's
for an internal dictionary and default to interpreting the key as a string
fixes #530

SERVER-8515 avoid memory corruption by checking max file descriptor limit
fixes #529 Remove temp collection cleanup. Temp collections should
always be rolled back by a failing transaction or manually cleaned up
by a committing transaction. By not opening all databases on startup,
we prevent a bug where to many open file descriptors breaks the
socket listening code in initAndListen(), see SERVER-8515
refs #529 No longer need this test
refs #538 Make sure we don't do the updateById optimization if the
NamespaceDetails says we cannot call findById().
refs #529 This test is no longer necessary
Merge branch 'bugfixes/tokumx-1.2'

Conflicts:
	src/mongo/db/commands/mr.cpp
	src/mongo/db/db.cpp
	src/mongo/db/instance.cpp
	src/mongo/db/ops/update.cpp