Allow additional information to be stored in raw fields.

src/csv.m:
src/csv.record_parsre.m:
src/cvs.typed_reader.m:
	Change the representation of raw_fields so that we can
	store additional information, for example column numbers,
	with them.
Initial support for column numbers in error messages.

src/csv.m:
src/csv.record_parser.m:
src/csv.typed_reader.m:
	In each raw field store the starting column of that field.

	Include column numbers in CSV errors generated by this
	library.

	Keep track of column numbers during parsing.
	(XXX this in complete in spots.)

tests/harness.m:
tests/test_csv.m:
	Conform to the above changes.

tests/discard-bard.err_exp:
tests/field_limit.err_exp:
tests/invalid_date1.err_exp:
tests/invalid_term.err_exp:
tests/unmatched_quote2.err_exp:
tests/unmatched_quote3.err_exp:
tests/width_limit.err_exp:
tests/width_limit2.err_exp:
	Update expected error outputs.
	(Some other tests are still failing.)
Generate more accurate contexts for error messages.

src/csv.m:
src/csv.record_parser.m:
src/csv.typed_reader.m:
	Store the beginning line number of a field in the
	raw_field structure.  (Recall that a quoted field can
	contain newlines.)

	Track the starting line numbers of fields throughout
	the parser.

tests/test_cases.m:
tests/regression4-bad.inp:
tests/regression4-bad.err_exp:
	Add a new test that checks that line numbers are correctly
	tracked through quoted fields containing newlines.

tests/unmatched_quote.err_exp:
	Update this expected output to include column numbers.
	(The line number has also changed since we now report
	the line number of the beginning of field #2.)

tests/header_eof.err_exp:
	Update the expected output to include column numbers.
	(XXX it's probably not appropriate to include column
	numbers here at all, but the error handling code will
	require further changes to support that properly; for
	now we just set the column number to 1.)