csv.lua: tidy up truncating the buffer (not really the right word, since we're cutting off the beginning) and advancing anchor_pos (also a bad name)
csv.lua: rename find's second argument 'init' to match the Lua Reference Manual
whoops.  Fix up find's return values when we've hit the end of file.  How did that work?
csv.lua: move the offset by anchor_pos out of sub and into field_sub
csv.lua: move find's offsetting into field_find
csv.lua: rename anchor_pos to field_start
csv.lua: track the buffer start with a variable called (surprisingly) buffer_start, and now field_start and line_start count from the start of the whole file, not the current state of the buffer
csv.lua: separate the buffering stuff out into a file_buffer class (that looks strangely like a string...)
csv.lua: now that a buffer looks like a string, reading strings is easier