CsvWriter and Record refactoring

- make CsvWriter and instance and use Memoize()
- speed up Csv.Escape and add tests
- change CsvWriter performance test to use unique strings
- reorder the paramters of one of the constructors of Record