Redesign csvt col_codec as GADT (soup paper)
Complete the finally-tagged representation:
- col_codec GADT with constructors for each column type
(String_col, Int_col, Float_col, etc.) + Col_map for custom
- col_decode/col_encode by pattern match (not closures)
- New: col_names, col_count for introspection
- New: get_col for single-column extraction queries
- 8 new tests (46 total), all passing