For each variable with a recode: block in the YAML, builds a lookup
vector and replaces matching cell values. Recoding runs on the string
representation of the column so it is independent of the column's current
type - this matters because type coercion happens in step 7.
Arguments
- dt
A data.table (modified by reference).
- config
Config object from
load_config().- cols
Character vector of column names to process.
