Here in `memtable.h`, you have references that use non-volatile variables but volatile accessors functions. In most other places, such as `atomics.h` and the `ref_count`/`ReleaseRef` code in `env_posix.cc` you have volatile variables with non-volatile accessor functions. What's the difference between these two usage scenarios?