AR::RecordNotSaved & RecordNotDestroyed from save!/destroy! should include an error message

When calling `AR::Base.save!` or `AR::Base.destroy!` and raising one of the exceptions, give a meaningful error message so that people can easily understand why it's failing to save/destroy.

cc @arthurnn @rafaelfranca
If saving fails due to validations, `ActiveRecord::RecordInvalid` will be raised instead. See [line 121 in lib/active_record/persistence.rb](https://github.com/rails/rails/blob/5142d5411481c893f817c1431b0869be3745060f/activerecord/lib/active_record/persistence.rb#L121)