cpp/thread/recursive timed mutex

The class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.

In a manner similar to std, provides exclusive, recursive ownership semantics. In addition, provides the ability to attempt to claim ownership of a  with a timeout via the cpp/thread/recursive_timed_mutex/try_lock_for and cpp/thread/recursive_timed_mutex/try_lock_until member functions.

The class satisfies all requirements of  and.