Reuses the original records string_view rather than expanding to the same std::string, we save some allocations, memory cache misses and simplify the class slightly. Additionally, the uninteresting add-multiple-identical-records logic ParserItem did before has been moved into RawRecord and is now performed by std::deque (which also means it can allocate better for itself). The addition of prepend deprecates push_front.