feat: misc improvements to infra deployments
These are all things that I've done somewhat ad-hoc before, but now
upstreaming into the monorepo.
- write the deploy plan to a file instead of stdout
- to avoid cluttering terminal with 1000+ line configs
- `getMultiProviderForRole` should only be populated with the requested
set of chains or the supported chains for given environmen
- to avoid fetching 50+ more keys than you need to on any given deploy
- remove the agent config write-back from the post-deploy
- this is already covered by the update-agent-config.ts script which is
usually ran manually anyway
- also moved the helper function into the update-agent-config.ts file,
as that is the only place it is being used right now
- in `infra/scripts` instead of `infra/src` to avoid a dependency issue
- add `writeYamlAtPath` helper method to utils
- with small refactor of existing `writeJsonAtPath`
- streamline hit detection on `readCache` in legacy deployer
- improve logging of legacy hook deployer when deploying an aggregation
hook
- better config matching detection when deploying routing hooks
- extension of
https://github.com/hyperlane-xyz/hyperlane-monorepo/pull/4305
---------
Signed-off-by: pbio <10051819+paulbalaji@users.noreply.github.com>