feat: csv: new timezone rule; convert zoned date-times to local dates

Author simonmichael
Pull request https://github.com/simonmichael/hledger/pull/1936

Description

Previously, CSV date-times with a different time zone from yours (with or without explicit timezones in the CSV) could give off-by-one dates, because the CSV timezone was ignored.

Now,

  1. you can use the timezone rule to indicate which other timezone a CSV is implicitly using

  2. CSV date-times with a timezone - whether declared by rule or parsed with %Z - are localised to the system time zone (or another set with the TZ environment variable).