Implement a 'ReadLock.temporary_write_lock()' to upgrade to a write-lock in-process. Implement it for _fcntl. This is the api that can be used when we want to update a dirty dirstate even though we only have a read lock. On win32, this will actually unlock and re-lock the file. Which is part of the api description. But we don't have to limit ourselves to the lowest common denominator on all platforms.