INI to JSON converter

Read INI sections and keys as JSON, or write JSON back to INI text, reporting duplicate keys and comments locally.

Comments start with a semicolon or a hash. Keys before the first section header are collected under a "global" section, and keys may use = or : as the separator.