Add hidden __Nonexhaustive variant to Model/SoC
Add hidden __Nonexhaustive variant to Model/SoC

Having a hidden __Nonexhaustive variant indicates these enums
shouldn't be exhaustively matched. This allows us to add new
Raspberry Pi models using minor updates, even though it's still
a break change.

While users can choose to circumvent this hack by matching against
__Nonexhaustive anyway, they will at least be aware that their
code might break in a future minor update.

This will be replaced after #[non_exhaustive] stabilizes.

golemparts/rppal