Added spec to demonstrate per instance evaluated_attr_encrypted_options_for bug.

- Added mocha/test_unit to test_helper as it was causing specs to fail
  when it was missing.
Fixed class/instance scope bug for per_attribute_iv_and_salt.

- @WIP there are three failing tests that I'm trying to resolve.
Fixed attributes_with_attr_encrypted method.

- ActiveRecord passes two arguments, not one.
- The attributes_without_attr_encrypted method is not actually sent unless
  .send is explicitly used, because ActiveRecord is passing two
  arguments it's attempting assignment.
- Please see
  http://apidock.com/rails/v3.0.9/ActiveRecord/Base/attributes%3D
Stops attr_encrypted from breaking strong parameters

attr_encrypted's current behavior is to call `symbolize_keys`
on the attributes that it's given. It then passes the resulting
hash to the underlying ActiveRecord `assign_attributes` method.
This, however, entirely defeats the security of strong parameters
in Rails 4 (and Rails 3 with the strong_parameters gem). Calling
`symbolize_keys` on an instance of ActionController::Parameters
returns a plain Hash, which does not respond to `permitted?`.

This patch will instead call `with_indifferent_access` on the
passed-in attributes, if that method is available. (If not, it
falls back to `symbolize_keys`.) `with_indifferent_access` has
been in ActiveSupport since Rails 3.0, and the strong parameters
gem will not work with an earlier version of Rails, so this
should work wherever strong parameters do.
Fixed NoMethodError for in attributes=/assign_attributes.

- Because sometimes objects other than a Hash are passed in, things go
  boom. This resolves that problem.
- Please see http://apidock.com/rails/ActiveRecord/Base/attributes%3D
  for more info.
Merge branch 'fix_assign_attributes_patch_for_rails_3'

Conflicts:
	lib/attr_encrypted/adapters/active_record.rb
Merge branch 'per_instance_evaluated_attr_encrypted_options_fix'