Test different means of creating load balancers.

Including the API-specified minimal way: name and protocol.
Yard docs and optional parameters for lbs.
The "nodes" element is actually nullable.
Whitespace touchups.
Reorganize clb fixtures, add a minimal case.
Port and nodes are *not* required for LB creation.
Formatting stick!
catch invalid uri

if URI.parse does not result in a host we don't continue and raise
an error
Merge pull request #3119 from teaforthecat/catch-invalid-endpoint

[aws] catch invalid uri
[google|dns] Let non-mocked tests run by setting an env variable.

If $FOG_TEST_GOOGLE_DNS_ZONE is set in the environment, the tests run in
non-mocked mode too. Also perform some basic validation for the convenience of
the user - Google API just says "Invalid value for
'entity.managedZone.dnsName'" without hinting on what is wrong.
[google|dns] Add support for get_managed_zone, with tests.
Merge pull request #3110 from smashwilson/load-balancer-params

[rackspace] More optional parameters for Cloud Load Balancers
Merge pull request #3125 from porridge/get-zone

[google|dns] Improve non-mocked tests, add support for get_managed_zone, with tests.
Updated to CloudStack 4.3 and re-added historical function behavior.
[aws|dns] 1.8 compat fix
Merge pull request #3126 from fifthecho/master

Updated to CloudStack 4.4 API and re-added historical function behavior.
allow userdata to be passed to Rackspace AutoScale
remove files duplicated from fog-core
Revert "Updated to CloudStack 4.4 API and re-added historical function behavior."
Merge pull request #3127 from fifthecho/revert-3126-master

Revert "Updated to CloudStack 4.4 API and re-added historical function b...