Add vm_rwlock.{cpp,h}

It is what its name suggests and currently just wraps wraps the pthread
lock type.