tests for configure edge gateways

Added tests for configuring edge gateway
- tests configure the firewall services. Adds a firewall rule for an
  not so important, unused port. This rule is by default disabled, so
should not break anything even if user runs it by mistake against a
firewall.
Tests reverts the data back to normal after run

These tests run both in mock and non-mock mode.
[vcloud_director] strftime not iso8601 for ruby 1.8.7
Merge pull request #2303 from nosborn/vcloud_director_no_datetime_iso8601

[vcloud_director] strftime not iso8601 for ruby 1.8.7
Invalid Excon request keys: :host, :port

as explained https://github.com/fog/fog/issues/2248 is preventing authentication with hp cloud.
add v1 auth fix #2248
Added testing in JRuby for Travis.
added comment on test
Merge pull request #2289 from alphagov/tests_for_edge_gateway

tests for configure edge gateways
Merge pull request #2305 from CIRCUITLLC/master

Invalid Excon request keys: :host, :port (add v1) dupes #2304
[vcloud_director] Mocking for tasks.
[vcloud_director] strftime not iso8601 for ruby 1.8.7
[vcloud_director] Consistent usage of ensure_list! in get_disk.
[vcloud_director] Fix ruby 1.9-isms in media_tests.
Removed errant :host argument
Add a reload() method to the vSphere service.

Like other compute services, it would be useful if vSphere also
supported reload(). The method should reestablish any session state
required for Fog when network errors arise (EPIPE, etc).

Fixes: #2307
Merge pull request #2311 from maginatics/vsphere_reload

Add a reload() method to the vSphere service.
Merge pull request #2309 from jtopper/master

Removed errant :host argument
Semantic Versioning (and Pessimistic Versioning Constraint) notice

I noticed some projects using Fog are setting very specific versioning constraint.  For example, https://github.com/mitchellh/vagrant-rackspace/issues/34 happened because both vagrant-aws and vagrant-rackspace are using 3 digits of precision.

The fog RELEASE.md says that Fog follows semantic versioning.  Several other projects have put up notices suggesting to use 2 digits of precision for projects that follow semver.  See https://github.com/intridea/multi_json, for example.

I added a similar notice, but softened the language because I don't think there is a clear understanding on what semantic versioning means for a project like Fog, which has multiple providers backed by services that are all evolving at their own pace.
Merge pull request #2302 from nosborn/vcloud_director_task_mocking

[vcloud_director] Mocking for tasks.
Don't load a couple MRI-only development dependencies on JRuby.