Add :type field to test doubles

The test doubles were not specifying a correct Interface{} section,
which is not a problem in the code as-is, but will be an issue in a
subsequent commit to dependency inject the requirements for these
sections.

Fixing now, to simplify the later commit.
Convert NatService to use dependency injection

Rather than getting NatService generator to call out to
the EdgeGateway for each interface, utilise the
Core::EdgeGateway.interfaces method to supply an array
of EdgeGatewayInterface objects to it, which can then be
used to look up the needed network details.

Similarly, this interfaces list is supplied to the
EdgeGatewayConfiguration class by EdgeGatewayServices, ready
for use in other generators (specifically, LoadBalancerService)

Committing this change with one failing unit test in the
NatService generator - the test that checks that we only call
the EdgeGateway API once. This is no longer relevant, and will be
removed in the next commit.

Integration tests are passing.
Remove unnecessary unit test for NatService

We are no longer calling the EdgeGateway API in the generator,
commit ae14103d074c0ebe65bc3a5542df6c80ce29a580 has switched the
logic around so that all API calls are done in the top level
EdgeGatewayServices class.

Hence, this test is no longer required.
Correct argument order for NatService generator

Arguments should be in order of importance/context. In this case,
the data to work on, followed by the dependencies needed to work on
that data (the edge gateway interfaces)
Merge pull request #12 from alphagov/nat_generator_dep_inject_2

[#65619490] NatService generator dependency injection - redux