- use manual opt-in trigger of a scripts-only-mode file existing in the PIF module subdirectory
- clarify installer message since Magisk Zygisk actually functions on Android < 8 now, but the Zygisk attestation fallback and device spoofing aren't necessary to pass on these (and also some later) devices
- do scripts-only mode automatically on Android < 8.0 since it doesn't support Zygisk and generally doesn't need a PIF module to pass at all
- clean up all unused files in scripts-only mode, and modify script behaviors for it, including allowing GMS on DenyList, and even add it if missing since it's necessary on some scripts-only configurations
- allow manually entering scripts-only mode by deleting the zygisk directory of the currently installed module and reinstalling
- intentionally don't alter the Enforce DenyList state, since we don't know what other modules are installed that might depend on it one way or the other, so leave that up to the user
- KernelSU or APatch have completely hidden directories/files so would not get recreated
- for .apk files with a config.xml the config.xml would not get recreated due to the 0-size/hidden .apk
- runs during install/update when an old format file is detected and upgrades it to the current default format which now properly separates Build fields and system properties
- supports all previously used deprecated entries, e.g. BUILD_ID, FIRST_API_LEVEL and VNDK_VERSION
- extracts any missing information for default added fields from the FINGERPRINT
- may also be run manually from command prompt with `sh migrate.sh` or with file explorer app supporting scripts like FX File Explorer
- add back check_resetprop but rename functions to make their use more clear (thanks HuskyDG)
- combine system.prop (runs at post-fs-data) entries into service.sh so that they're only set if needed (note that they therefore wouldn't need to be late props)
- use a uniform style in all scripts (only necessary quoting and brackets, add trailing newlines, spaces not tabs :P)
- remove GMS data pif.prop/pif.json files left over from previous releases to ensure they don't trigger detection at some point (these lines can be removed again in a later release once we're satisfied everyone affected has this resolved)