SERVER-14425 Implement map with no allocation for the lock manager tracking structures
SERVER-14425 Avoid memory allocations in LockerImpl

Memory allocations on the common locking path in LockerImpl increase the
cost of uncontended lock operations and are fairly easy to be avoided through
keeping a stack of already allocated memory.
SERVER-14425 Move all Lock Manager enumerations to a separate header

Most of the lock manager enumeration types are necessary in places where
the entire lock manager interface and its structures are not needed.

Also causes circular include dependency with LockStats.
Merge remote-tracking branch 'upstream/master'