SERVER-10159 Hoist document construction above write lock by storing in driver
SERVER-10159 Size internal document data structures appropriately to common use cases
SERVER-10159 Do slightly less work when resetting or destroying a mutable Document
SERVER-10159 Also cache field name lengths for leaf elements
SERVER-10159 Store the FieldRef for _id in a file static to avoid a dynamic allocation
SERVER-10159 Re-use Collection and index data structures rather than re-acquiring or copying
SERVER-10159 Only track doc locations on a multi update
SERVER-12157: fix build on Linux 32-bit and old version(s) of g++.
Merge remote-tracking branch 'upstream/master'