### Description
Updating the `objMerge` implementation
A bug in the original implementation meant that the
`update-agent-config` script did _not_ overwrite the
`blocks.reorgPeriod` if there was a change, this new version does.
### Drive-by changes
- gracefully handle missing startBlock data when generating agent config
- fix objMerge calls that had the wrong order
### Related issues
definitely want to fix this bug before attempting to update our agent
configs with changes in
https://github.com/hyperlane-xyz/hyperlane-registry/pull/276
### Backward compatibility
should be, yes
### Testing
ci, manual testing when generating agent config files