Implement format migration for custom rules
Description
We need to be able to more effectively deprecate and change custom rules syntax, and to do this we need to actually implement a migration system so we can upgrade old files in-place like we do for settings files.
KiCad Version
Application: KiCad x86_64 on x86_64
Version: 7.0.0-rc2-unknown-92a61b187f~165~ubuntu22.04.1, release build
Libraries:
wxWidgets 3.2.1
FreeType 2.11.1
HarfBuzz 2.7.4
FontConfig 2.13.1
Platform: Ubuntu 22.04.1 LTS, 64 bit, Little endian, wxGTK, ubuntu, x11
wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.74.0
OCC: 7.5.2
Curl: 7.81.0
ngspice: 38
Compiler: GCC 11.3.0 with C++ ABI 1016
Build settings:
KICAD_SPICE=ON