Bump vcloud-core dependency to 0.4.0

To pull in support for schema deprecations.
Swap ordering of VappTemplate#get arguments

As changed in vcloud-core 0.4.0 by alphagov/vcloud-core#49.
Pull out mocks to let() blocks

So that they can be re-used by some new contexts that I'm about to add.
Deprecate catalog_item for vapp_template_name

The new name more clearly describes its purpose for people that don't have
existing knowledge of VMware vCloud Director.

Change all existing test configs. Make the new name take precedence over the
old. Add a test to demonstrate that the old name can still be used if
the new isn't specified. Schema validation from Vcloud::Core::ConfigLoader
will take care of logging warnings for us.
Deprecate catalog for catalog_name

The replacement makes it clear that this item expects a string of the
"friendly name" rather than e.g. a UUID. It also aligns more closely with
`vdc_name` and the new `vapp_template_name` from the previous commit.
Rename VAPP_TEMPLATE[_NAME] anchor in tests

So that it matches the renaming of the config item and aligns with the use
of VDC_NAME in the same test. I'm not touching the name of the keys in
`metadata` or `bootstrap` because they are out of scope for this story.
Merge pull request #33 from alphagov/70452106-config_renaming

[#70452106] Rename catalog and catalog_item