getting concore running on a fresh machine means manually finding g++,
python3, iverilog, octave paths and writing them into concore.tools by
hand. mkconcore.py reads those at startup, get one wrong and the study
silently fails.
concore setup should auto-detect installed tools via shutil.which() and
write concore.tools, concore.sudo, concore.octave directly.
--dry-run to preview without writing, --force to overwrite existing
config. new file only, no backend changes.