Introdude new Locks API, and the Forseti lock manager

 o The classic LockManager remains, but as an implementation of
   the new Locks API. It has been slightly improved to not contend
   on global data structures when taking locks it already holds.

   The classc lock manager is now referred to as the "Community
   Lock Manager".

 o Forseti is a new lock manager, available in enterprise only, it
   is faster than the community manager, and scales linearly as more
   execution threads are added. It uses a new deadlock detection
   scheme as well, which means deadlock detection is significantly
   faster and requires no pessimistic synchronization.
Fixed lock management introspection.
Fixed incorrect shared lock holder list resizing
Swapped last deadlock test to use new Locks API.
Extract test for all nodes scan, index seek, index scan and label scan out of SimpleLogicalPlannerTest
Merge pull request #2136 from jakewins/2.1-locks

New Lock Manager
Merge pull request #2170 from davidegrohmann/ronja-planning-cleanups

Extract test for all nodes scan, index seek, index scan and label scan o...
Merge pull request #2172 from systay/rewrite-with-clauses

Make sure to rewrite WITH as well as RETURN clauses
Add Monitor Logging Kernel Extension

o Added monitor for planning