Move RecordableCommands into DynamoModel

Full description of this PR is here:
https://github.com/DynamoDS/Dynamo/issues/2497
We need to throw an exception here, I want the exception to catch any renaming of command or new commands being added without updating this ```switch-case``` section. So it's important you gather **all** the ```RecordableCommand``` derived classes here so it won't crash.

```cs
default:
    throw new InvalidOperation("Unhandled command name");
```