Implement startup behavior with StartUpMode (#16039)

* Implement StartUpMode behavior with validation

* Disable TestModeSelectCluster for darwin. To be added back in #16514

* Update StartUpMode of ModeSelectCluster to use NVM storage option and generate code

* Restyled by clang-format

Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
index c74772c..491c2d8 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
@@ -8033,7 +8033,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ServerGeneratedCommandList",
+              "name": "GeneratedCommandList",
               "code": 65528,
               "mfgCode": null,
               "side": "server",
@@ -8048,7 +8048,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ClientGeneratedCommandList",
+              "name": "AcceptedCommandList",
               "code": 65529,
               "mfgCode": null,
               "side": "server",
@@ -8935,7 +8935,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ServerGeneratedCommandList",
+              "name": "GeneratedCommandList",
               "code": 65528,
               "mfgCode": null,
               "side": "server",
@@ -8950,7 +8950,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ClientGeneratedCommandList",
+              "name": "AcceptedCommandList",
               "code": 65529,
               "mfgCode": null,
               "side": "server",
@@ -10531,7 +10531,7 @@
               "mfgCode": null,
               "side": "server",
               "included": 1,
-              "storageOption": "RAM",
+              "storageOption": "NVM",
               "singleton": 0,
               "bounded": 0,
               "defaultValue": "0",
@@ -10571,7 +10571,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ServerGeneratedCommandList",
+              "name": "GeneratedCommandList",
               "code": 65528,
               "mfgCode": null,
               "side": "server",
@@ -10586,7 +10586,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ClientGeneratedCommandList",
+              "name": "AcceptedCommandList",
               "code": 65529,
               "mfgCode": null,
               "side": "server",
@@ -14842,7 +14842,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ServerGeneratedCommandList",
+              "name": "GeneratedCommandList",
               "code": 65528,
               "mfgCode": null,
               "side": "server",
@@ -14857,7 +14857,7 @@
               "reportableChange": 0
             },
             {
-              "name": "ClientGeneratedCommandList",
+              "name": "AcceptedCommandList",
               "code": 65529,
               "mfgCode": null,
               "side": "server",