Take a messy CSV (mixed types, inconsistent dates, smart quotes, BOMs) and produce a clean version plus a cleaning log.