raise error for acts_as_paranoid on models without primary keys

see https://github.com/radar/paranoia/issues/169
Merge pull request #178 from bluej100/require-primary-key

raise error for acts_as_paranoid on models without primary keys
trigger save and create callbacks when restoring