Require 'rdoc/task' instead of deprecated 'rake/rdoctask'
Properly compute set of support ciphers for unit test

The "openssl list-cipher-commands" command will report some ciphers, such as
"base64" or "zlib" which are supported by the native OpenSSL commands but which
are not properly supported by the ruby OpenSSL class largely to do with how
Ruby was compiled etc. The safest way to determine the set of ciphers supported
on the current machine is to obtain the intersection of this command with the
contents of the OpenSSL::Cipher.ciphers array.
Create CompatibilityTest to ensure that new versions of gem will decrypt data stored by old versions of gem

Test ensures that values stored by previous versions of the gem will
roundtrip and decrypt correctly in this and future versions. This is important
for data stored in databases and allows consumers of the gem to upgrade with
confidence in the future.