C++/ReaderWriterLock: Add Waiter and RWLock2