ActiveModel callbacks raise

This was born out of the observation that we never check whether
`#destroy` fails. Since callbacks are used for validated database
objects and are expected to succeed, we should raise on failure. This
will roll back the transaction and notify the exception handler (e.g.
Airbrake).