Ticket #25711 - Added command to copy the raw apps settings from one engine to another.

To prepare for the release of the desktop application, this pull request adds a new core command to copy the apps settings from one engine to another.  The intended use is to be able to automatically setup the tk-desktop engine for a project with an existing configuration based off of the current tk-shell settings, avoiding the need to initially setup the desktop engine manually.

The new command uses a new method in Environment that copies the raw yml structure that makes up the source apps value to the destination engine.
Should this be protected? I guess we are calling it from another class, maybe better to just call it `copy_raw_apps`.
Actually, is the `raw` bit significant? Perhaps we could simply call it `copy_apps`?