#25973 Parse 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.

Closes #97
For #26168 - Fix to allow a template that specifies the storage root
For example, the template 'project_root: /' would now correctly validate
against the project storage root that the template is defined for.
Previously this would fail!
Merge branch 'master' of ssh://git@github.com/shotgunsoftware/tk-core.git
For #26168 - Fix for apply_fields when template represents storage root
Merge branch 'master' into 26162_setup_project_localize