[CHEF-5356-gcm(2)] Encrypted data bags should use different HMAC key and include the IV in the HMAC

**Note:** issue #1590 rebased onto master, conflicts fixed.

--

Reopening issue #1504 with some fixes (alternative to issue #1474 using GCM).

https://tickets.opscode.com/browse/CHEF-5356

* Requires OpenSSL `>= 1.0.1` and ruby `>= 2`.
* Avoid testing v3 when requirements are not met.
* `DOC_CHANGES.md` updated.
* Rebased onto master.
Is it possible to put this logic in the rspec config in spec_helper? Personally I don't have a preference for one style or the other, but everything is in spec_helper right now so I'd like to be consistent.