Fix mass assignment protection in Rails 4

AR4 sadly uses `alias` rather than `alias_method` to define
`#attributes`. This means we have to `alias_method_chain` `#attributes`
separately.
ActiveRecord adapter no longer forces hashes to be string-keyed
Adding a class attr to attr_encrypted so AR MultiParamter works

see: http://stackoverflow.com/questions/17482507/correct-way-to-handle-multiparameter-attributes-corresponding-to-virtual-attribu
DRY
Add new option: `allow_empty`

This option allows encryption of empty strings. It almost certainly
requires a custom encryptor.