Merge of Daniel Palacio's encryptor2 functionality into encryptor with compatibility mode for existing API

This change merges in Daniel's updates to support a ":salt" option (from https://github.com/danpal/encryptor) but modifies the "crypt" method to fall back to compatibility mode if this option is not specified. This means that existing users of this gem can continue to use the gem without making any changes and can opt into the extended functionality by adding the ":salt" option to their code in the future. This change also adds compatibility tests to ensure that encrypted values created using previous versions of the gem will roundtrip if the user updates to newer versions of the gem. This is intended to detect breaking changes in the API, for example. I would be really pleased if you could merge this pull request into shuber/encryptor as this will form the basis of a new version of shuber/attr_encrypted I am working on that will support this strong encryption scheme.