Enabled warnings
Implicit read and write locks
read_ptr/write_ptr can be used with condition_variable_any
UnitTest::test can be nested
Renamed shared_state::unprotected to shared_state::raw
read_ptr and write_ptr support swap
Updated shared_state.pdf