Introduced a boolean flag to GcLock to control defer execution
Removed unused RCU source files from directory tree
Replaced rcu_dereference_sym call by plain std::atomic.
rcu_dereference_sym basically calls CMM_ACCESS_ONCE which essentially is the same macro as the ACCESS_ONCE kernel one.
This macro ensures that the compiler won't make any optimization and won't load the given value twice. std::atomic should
do the trick here.
GcLock now has a public and private interface