Switch SafeMap lock from pointer RWMutex to value

* Eliminate unneeded pointer for SafeMap's lock
* Reduce number of heap object allocations as a result
* Add benchmarking and profiling README notes