#25973 Sparse Localize

This adjusts the localize command to be a little less blunt.

Previously, it would copy all versions of apps, engines etc. across from the core api source location to the pipeline configuration. Now it instead iterates over all descriptors currently used by the environments and only copies those across.

For large studio locations where there has been a buildup of versions, this will improve performance of the localize process.
very (very) minor but I'm not a big fan of single-character variable names outside of list/dictionary comprehensions ;)