SERVER-14006 Experimental document-level locking for in-place updates

This commit enables experimental (and untested) document-level locking for
in-place updates, which do not modify indexed values.

It should absolutely not be used on production systems and is for
demonstration purposes only.

It runs under server parameter called useExperimentalDocLocking. In order
to enable it, run:

./mongod <other parameters> --setParameter useExperimentalDocLocking=true
SERVER-13635 Replaces high-level references to Record  with RecordData class.

In order to allow the use of certain types of storage engines, it was
necessary to replace some use of the Record class. The Record class is
now almost entirely restricted to the mmapV1 level and below.
Higher-level uses of the Record class were replaced with calls to the
new RecordData class.
SERVER-13635 Implement Heap1BtreeImpl as an alternative to Btree in HeapRecordStore