Changed it to a header-only library.

Added an additional test (the same as test one), but in a separate
compile unit, to test that the header-only code doesn't cause
linker problems.
Moved state machine out into csv parser, to persist state across calls.

That way a csv file can be read from disk incrementally and fed to the
parser in chunks, and the state machine won't lose its state between
chunks.