One of the issues with using a secondary index on the customers table is that we
need to be able to compare last name strings in the hash table implementation.
The implementation previously used raw c-strings where we needed strings to
avoid issues with reference counting copied strings in C++. However, using
c-strings would require us to specify an equality function to be used in the
hash-tables. Therefore, as a hacky fix, switch to using std::strings instead of
c-strings. When we copy strings, make sure to do a deep-copy. Ugly, but works.