Add separate Read/WriteUnlock methods in MutexRW.

Some platforms, particularly Windows, do not have a single method that can
release both a held reader lock and a held writer lock; instead, a
separate method (ReleaseSRWLockShared or ReleaseSRWLockExclusive) must be
called in each case.

This may also be necessary to back MutexRW with a shared_mutex in C++14;
the current language proposal includes both an unlock() and a
shared_unlock() method.
Merge pull request #176 from bgrainger/mutexrw-unlock

Add separate Read/WriteUnlock methods in MutexRW.