Rename EdgeGatewayServices->EdgeGateway::Configure

So that the class is namespaced under `Vcloud::EdgeGateway` like everything
else. I've renamed it generically to `Configure`, for want of a better name,
because:

- It matches the binary/class names in the other tools.
- It's "action" is to configure a VSE.

There is some overlap with `Vcloud::EdgeGateway::EdgeGatewayConfiguration`
which I've raised [#71220390] to investigate.

I've removed references to the class name in the test "context" blocks
because they are hierarchical and the name comes from the outer "describe"
block.
Relocate schema to edge_gateway directory

In preperation for renaming to Vcloud::EdgeGateway::Schema::*. I'm moving
them separate to the renaming so that git doesn't treat it as an add+rm.
Rename Vcloud::Schema->Vcloud::EdgeGateway::Schema

So that we don't stomp over the main Vcloud namespace. This matches the
directory move in the preceeding commit.
Merge pull request #60 from alphagov/70161966-namespacing

[Fixes #70161966] Rename Vcloud::EdgeGatewayServices and Vcloud::Schema
Refactor vcloud_pool_healthcheck_entry array

Refactor vcloud_pool_healthcheck_entry array to remove the default_mode
variable.

Given that all other defaults are defined line-by-line, I don't see why
the `:Mode` key should be any different.
Don't set healthcheck URI for non-HTTP checks

Don't set a healthcheck URI for non-HTTP load balancer healthchecks.

In vCloud Director version 5.1 and 5.5, VMWare does not support a
healthcheck URI for SSL healthchecks[1]. In vCloud Director version 5.5,
a load balancer will refuse connections if a health check URL is set for
an SSL healthcheck.

TCP healthchecks obviously do not support a healthcheck URI given they
do not operate at layer 7.

This also fixes an issue related to
ecfba3960d8ae44169af81afd36647926226de15; that commit checks for a pool
service protocol of HTTP and sets the healthcheck URL accordingly. The
changes there did not however account for configurations where the pool
uses HTTP as the service protocol but TCP for the healthcheck.

The logic here is necessarily complex because we deal with:
  - defined configuration versus the default
  - healthcheck protocols (default or defined) versus service protocols

Raise an exception if a healthcheck URI is specified for a load
balancer healthcheck using any protocol other than HTTP.

Also adds tests for the above behaviour:

  - Add a spec test to ensure that that the default URI for healthchecks
    using the HTTP protocol is '/'. The behaviour we are testing for was
    implemented in e9c524b42397121d232667ba29d6739bbba63091.

  - Add a spec test to ensure that that the default URI for healthchecks
    using the HTTPS protocol is ''. The behaviour we are testing for was
    implemented in e9c524b42397121d232667ba29d6739bbba63091.

  - Add a spec test to ensure that that the default URI for healthchecks
    using the TCP protocol, when the load balancer service protocol is
    'HTTP', is ''. The behaviour we are testing for was implemented in
    this same commit.

  - Add a spec test that expects an exception to be raised if we attempt
    to define a healthcheck URI for a non-HTTP healthcheck. Only HTTP
    healthchecks support a healthcheck URI. The behaviour we are testing
    for was implemented in this same commit.

[1]:
http://pubs.vmware.com/vcd-55/topic/com.vmware.vcloud.admin.doc_55/GUID-C12B3954-155F-48AF-9855-E0DE026752D0.html