update license and make the default buffer block size a megabyte rather than a measly 4k
csv.lua: move initialisation code out of separated_values_iterator to try to make it a bit easier to see what's going on
csv.lua: make the column map managing stuff its own class to try to make separated_values_iterator cleaner.  hmmm
csv.lua: move error handling up, again, trying to make the parser a bit shorter.  Not really working, but giving it a go all the same