CDK-845: Refactor CSV to support String parsing.

Extracts the Avro record building from CSVFileReader into CSVRecordBuilder
that can be used by passing an already-parsed String[]. Adds
CSVRecordParser that wraps a CSVParser, which will parse a single line
of CSV passed as a String. This is to support changes to the flume sink
that can read events with CSV payloads.