Define version separately for each model
Define version separately for each model. This allows making a point release for specific models only, which saves a lot of testing work on unaffected devices and does not offer an update with no actual changes. Point releases for specific devices can be made much more quickly when needed.
There is also a lot of refactoring/cleanup:
- Reduce global variables (eliminate MODEL_INDEX, etc.)
- Consolidate model characteristics into one list, generate menus and detect current model from that list
- Name variables describing the current system with DETECTED_ for clarity
- Remove special variable values like "unknown"/"UNKNOWN"/"UNK"/"invalid" and use empty values instead
Signed-off-by: Jonathon Hall jonathon.hall@puri.sm