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.
I might be wrong, but I think we could perhaps get away with just using existing mehods on the environment class. Something like this:

```
for app_name in env.get_apps(source_engine):
  settings = env.get_app_settings(source_engine, app_name)
  descriptor = env.get_app_descriptor(source_engine, app_name)
  env.create_app_settings(target_engine, app_name)
  env.update_app_settings(target_engine, app_name, settings, descriptor.get_location())
  # just in case of complicated referencing scenarios, ensure that frameworks exist for the new app
  fw_location = env.disk_location
  console_utils.ensure_frameworks_installed(log, self.tk, fw_location, descriptor, env, suppress_prompts)
```

(untested code above, sorry if I am missing something obvious!)