Support step template mapping for project imports

If you export a project that uses step templates, and then try to import the project into a different Octopus server that has different ids for the same step templates, the imported ids are not updated. After the import, the deployment steps will use whatever step template has the imported id, which may be a completely different step template or may not even exist at all. This makes it even more difficult to migrate projects from one server to another.

This change adds a list of the step templates used to the project export. On import, it checks and maps the ids in a manner similar to the NuGet feeds.