Task
Build `read_csv_dict(rows, key_col, val_col)` β the workhorse "turn a CSV into a lookup dict" helper:
- `rows` is a list of dicts (think `DictReader` output).
- Return a dict mapping `row[key_col]` β `row[val_col]`.
- If duplicate keys appear, LAST row wins (mirrors dict-update semantics).
- Empty rows β empty dict.
- Missing key/val column in any row β skip that row (defensive β partial data common in real CSVs).