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.
Replaced the 'unicode' gem with 'unf' so it'll work with JRuby.

Fixes #2279: Remove dependency on "unicode" gem.
Add EnableLogging field to FirewallService XML
Merge pull request #2313 from maxlinc/patch-1

Semantic Versioning (and Pessimistic Versioning Constraint) recommendation
Made the 'unf' dependency optional.

If you don't have 'unf' installed and you use an AWS adapter, you'll get a message about how your strings might not be properly escaped.  If the gem is available, we'll use it.
Merge pull request #2320 from nirvdrum/replace_unicode_with_unf

Replaced the 'unicode' gem with 'unf' so it'll work with JRuby.
Added a development dependency on 'unf' so the AWS escaping tests will pass.
Create a Snapshot based on a Disk
Merge pull request #2106 from maginatics/gce_create_snapshot

[google|compute] Create a Snapshot based on a Disk
Don't ignore JRuby failures in Travis any longer, since all known ones have been addressed.
Merge pull request #2321 from alphagov/firewall_enable_logging

[vcloud_director] Add EnableLogging field to FirewallService XML