Michaels CSV reader with some enhancements

for example a cleaner abstraction where there is a character seeker, that
reads from a Reader and can briges buffer gaps. And then a CsvReader that
uses that seeker.

Another thing is a more efficient value extractor, where values can be
extracted to different types straight from the char[], where for example
converting to a long can bypass String creation. Measured to be almost an
order of magnitude faster.