Group config_loader tests in describe blocks

So that they are easier to read.
Add var_files arg to load_config and failing test

Accept an optional `vars_file` argument to #load_config which is the path of
a YAML file containing some variables which in turn causes the `config_file`
to be treated as a template and string interpolation is performed.

This will allow tools like vcloud-edge_gateway to re-use a single ruleset
for multiple environments where the only thing that changes are IP addresses
stored in separate files. It can also be re-used by some of our unit tests
which currently use spec helpers to do the same job.

Actual implementation to follow in a separate commit.
Use Mustache to template ConfigLoader files

Satisifies the failing test from the previous commit.

This has the advantage over ERB that the template files are completely
logic-less and you can't do anything exciting like loops or querying
external data sources, which might render your deployments unreproducible.

Per the description at:
- http://mustache.github.io/mustache.5.html#DESCRIPTION

I'm not attempting to support the YAML frontmatter method of storing the
variables and template in the same file like `mustache(1)` does because we
already have (and test) YAML anchors for this:

- http://mustache.github.io/mustache.1.html#DESCRIPTION
Version 0.1.0
Merge pull request #35 from alphagov/config_template_mustache

[#64815072] Use Mustache to template ConfigLoader files