g3item is raw value (gen 3 index), HeldItem returns the equivalent gen4
item.
In the future the populatefields(PK3) method will use the gen3 index
(list needs to be init first) but the display is always the helditem.
Use one enum to denote Version across all code, also identifies if data
is invalid
Move some SAV code to virtual members in abstract class
(BAK/Exportable/Footer)
Few minor bugfixes here and there (hiding Characteristic label, loading
pk6 to sav3, sav3 version detection via gamecode)