Add configuration differ

And replace it in diff method. Functionality and logic have not changed.
Call Differ directly instead of via diff

We want to use the Differ class instead of the diff method so this small change means no code calls it.
We had to comment out the unit test because they are tied very closely to the implementation - they expect the object to call certain methods etc, which is exactly what we are changing. We are using the integration test to check our refactor - that is green after this change.
Remove diff method - use Differ now
Rename config to local_config for clarity
Fix one failing diff test

This test previously directly called the diff method which we've deleted. Rewriting the test to call our new ConfigurationDiffer. The test required `translate_yaml_input` so we have made it public. A future improvement as part of this piece of work is to make that method public and tested anyway, so it is fine to do this now.
Merge branch 'master' into pull-out-differ
Make failing FirewallService diff test pass

We have removed the 'diff' method on EdgeGatewayServices to clean
up the codebase. This test was failing as a result. This change fixes
it, as per the previous commit.

Duplicated code is not pulled out into a method, to improve clarity of test.
Improve FirewallService diff test

* Make test more robust by not using magic numbers
* Improve test inputs - only make a small change
* Make test name more descriptive.
Unit tests for HashDiff based ConfigurationDiffer

We are technically testing HashDiff here, but this is useful to:
* Document and confirm HashDiff behaviour
* Highlight if we start to diverge from it
Correct public interface 'documentation' test

We should have picked this up previously, but were using the integ
tests for refactoring.

The public interface of EdgeGatewayServices has changed, making this test
redundant.
Merge pull request #137 from alphagov/pull-out-differ

[#62380500] Pull out differ