Added shared_lock_guard. Removed make_lock_guard as it is not always reliable because it technically requires lock_guard to be copyable or moveable.