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
SERVER-13635 Undo change to BtreeCursor save/restore

A more complete patch is coming soon
SERVER-13635 Clean up BtreeCursor save/restore.

It is now up to the BtreeInterface impl to decide what data it needs to save.
Save and restore must *always* be called before/after a yield if you intend
to use the cursor again, even if it is at EOF.
SERVER-13635 Capped HeapRecordStore fixes
SERVER-14006 Partition the experimental lock manager

This allows the experimental document-level locking to scale past 4x
cores.
SERVER-14189 Fixed invalid iterator decrement
SERVER-13635 RIP pdfile.h/cpp
SERVER-11077 Debian Enterprise packaging

This is a minimal change to support Debian, almost
identical to Ubuntu packaging and Community Debian
packaging.
LockManager fixes and cleanup
Merge branch 'master' of github.com:mongodb/mongo
SERVER-14349 problem with changing lock manager policy
SERVER-13635: remove verify in index_create that only makes sense for some indexes
SERVER-13635: allow OperationContextNoop to get a RecoveryUnit passed in for testing
SERVER-14352: prototype rocksdb storage engine
SERVER-14349 problem with lock_mgr_test on windows
SERVER-4042 convert HashTable::iterAll to use stdx::bind instead of function callback

Signed-off-by: Benety Goh <benety@mongodb.com>
SERVER-14357: Add support for top level JSON Array
SERVER-14147 fix index_multi.js retry by passing the correct noConnect value