Add recursion checking to `portable::shared_mutex`
Add recursion checking to `portable::shared_mutex`

- Add recursion checking to `portable::shared_mutex` using the same system employed by `mutex`.

meganz/mingw-std-threads