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.
Added a JRuby workaround in a test that's failing due to a JRuby bug.
Bound the 'myns' XML namespace to keep Nokogiri on JRuby happy.

It appears JRuby's Nokogiri implementation is strict about using unbound XML namespaces.  Since a well-formed doc should have bound namespaces, I just added it here.
Merge pull request #2319 from nirvdrum/jruby_test_fixes

JRuby test fixes.
Replaced the 'unicode' gem with 'unf' so it'll work with JRuby.

Fixes #2279: Remove dependency on "unicode" gem.
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.
Auto-merge remote-tracking branch 'upstream/master'