Unit test for firewall rule order

to ensure that input rule order and output rule order are the same, which should in turn ensure that the target VSE rule order is correct
Ensure remote FirewallService rule order is correct

We need to ensure that the output rule order is correctly mapped to the
input rule order.

This adds a simple test based on ensuring that the rule Descriptions are
in the same order, which gives a high degree of confidence that the rules
themselves match.
Merge pull request #141 from alphagov/firewall-rule-order-test

[#62380500] Firewall rule order test
added helper for erb to yaml conversion

The method generate_input_yaml_config is duplicated in multiple
integration specs. Extracted this logic into ErbHelper.ErbHelper is a
spec helper and gets loaded only by spec_helper.rb.
renamed method
Merge pull request #144 from alphagov/integration_test_refactor

Extracted out logic to convert erb template into yaml
minimizing time taken by storage profile test

removed the metadata, hardware, bootstrap config from storage profile
input yaml. These configs are already tested in launcher yaml.

Hopefully this should save us few seconds
replaces an integration test with unit test

Removed an integration test, which used to verify if customization
continues if storage profile is not specified. This test verifies a workflow
scenario which can be tested with unit test.
This method is no longer used

Was going to remove it at the end of https://www.pivotaltracker.com/story/show/62380500 but it would have conflicted with something @mikepea was doing.
Merge pull request #146 from alphagov/remove-unneeded-method

This method is no longer used
Split FirewallService schema into own file

The FirewallService schema definition constants were located
with the top level EdgeGateway definitions historically. This
commit makes it more like the other services (Nat, LoadBalancer)
Merge pull request #147 from alphagov/65429452_firewall_schema

[#65429452] Split FirewallService schema into own file
Re-enable temp file deletion
Merge pull request #148 from alphagov/65373830_fix_test_tempfiles

[#65373830] Re-enable temp file deletion
Merge pull request #145 from alphagov/speeding_integration_tests

minimizing time taken by storage profile test
Add test that confirms no update

The majority of the logic around when update is called will be in unit tests. However it is worth adding one integration test to confirm that no update takes place.

The way this is tested is by getting the id of the last task that was run, the point being that new task = new id, so same id = no task was run, i.e. no update. This is slightly oblique - a better way to do this would be add functionality to Core to get the last task and then from that get the timestamp of the last update, but that is a lot of work for a test.

To clarify, I've added a comment, and an example of where they are different in a previous test.
Merge pull request #149 from alphagov/confirm-no-update

[#65271738] Add test that confirms no update
Merge branch 'master' into nat-test-fixes
Improve "only run once" test

* remove rspec matcher to avoid rspec altering our code path

* instead number of networkConfigureEdgeGatewayServices tasks via Query API