libroot: Add memory_ prefix to transaction symbols and definitions

fs_cache also uses term 'transaction'. Adding prefix 'memory_' prefix
to symbols and definitions related to transactional memory should
avoid any confusion and solve name conflicts.
Replace 'UsePrivateHeaders kernel' with UsePrivateKernelHeaders

lock.h requires now transactional_memory.h which, being shared with
libroot, is in headers/private/system directory.
freebsd_network: Do not use extern "C" around includes

Include files, when included to a C++ file, may declare functions that
do not have C linkage available (i.e. template functions). Therefore,
it is not safe to put #include directive inside extern "C" { }.
kernel: Add lock elision to kernel mutexes