Replace uses of char* with void* in Arena's member variables. Instead, cast to char* where needed in the implementation.
Certain compiler environments disallow std::hash<char> specializations to prevent hashing the pointer's value instead of the string contents. Thus, compilation fails when std::unordered_map is keyed by char.
Explicitly using void* is a workaround in such environments. For consistency, void* is used throughout all member variables similarly to the public interface.
Changes to this code are covered by src/test/allocator_tests.cpp.