libroot: Introduce support for transactional memory

Higher level wrappers for Restricted Transactional Memory are introduced.
If RTM is no available wrappers will act as if the transaction has been
aborted.
libroot: Add lock elision to mutex, recursive lock and rw lock