[#62380500] Refactor of update method

- Don't add the configuration to what you are sending if there's no difference, rather than adding it and then deleting it
- No need for count or iterating through EdgeGatewayServices

This is not the final version of this method. We need to dependency inject so that it can be tested and split it out so it doesn't have too many responsibilities, but this is as far as we are going with it for this story.

Note - the `self.edge_gateway_services` method is now no longer required but removing this will conflict with work Mike is doing on a different branch so I will remove it later.