Rename test files and classes so they can run side-by-side with new tests
New tests to verify backwards data compatibility of legacy API

Note that marshalling changed significantly between Ruby 1.8.7 and Ruby 1.9.3 breaking compatibility, so we special-case Ruby 1.8.7 for the marshalling tests.
Merge of per-attribute IV and salt functionality from https://github.com/danpal/attr_encryptor

This change merges in the relevant commits from the attr_encryptor repository and introduces a new :mode option to switch between legacy behaviour (:single_iv_and_salt) and new behaviour (:per_attribute_iv_and_salt). For backwards compatibility, :single_iv_and_salt will remain the default.

Commits merged from https://github.com/danpal/attr_encryptor:

commit b4c8398a8486bb6b0836e68e7b97b33e5ee74e9c
Author: Daniel Palacio <danpal@gmail.com>
Date:   Sat Jan 7 17:14:51 2012 -0800

    Move the repo to attr_encryptor and make it a totally different project
    from attr_encrypted

commit 369e027cb827c6093ed3c52c356698a4c4c7ada9
Author: Daniel Palacio <danpal@gmail.com>
Date:   Sat Jan 7 19:06:44 2012 -0800

    Fix bug that reload the iv and salt when getter is called

commit 19d2d8a73447d3999577356008ada7f1145eeb30
Author: Daniel Palacio <danpal@gmail.com>
Date:   Sat Jan 7 21:08:26 2012 -0800

    Fix tests that use data mappers

commit 5dccabe9bb87056b90794d9423c355ecafdf81b7
Author: Ian Leitch <port001@gmail.com>
Date:   Fri Sep 7 16:29:50 2012 -0700

    Generate a salt with more chance of being random.

commit 457b09866d86f18868b23fcb6d808dcf05300b0d
Author: Daniel Palacio <danpal@gmail.com>
Date:   Wed Jul 17 11:49:07 2013 -0500

    Fix all tests.

    All test passing on version 2.0.0. Releasing a new version.
Fix-up of merged tests from attr_encryptor
New compatibility tests for new per-attribute IV and salt functionality