to_string and to_wstring
Using shared_ptrs to permit data to live beyond their rows' existence. This does complicate matters somewhat for callers.
Shared pointers for datum return, and field lookup by name.