ActiveRecord/ActiveModel '#validate' alias for 'valid?'

It's unintuitive to call '#valid?' when you want to run validations but
don't care about the return value.

The alias in ActiveRecord isn't strictly necessary (the ActiveModel
alias is still in effect), but it clarifies.
Merge pull request #14456 from henrik/add-validate-method

ActiveRecord/ActiveModel '#validate' alias for 'valid?'
Add CHANGELOG to Active Model too [ci skip]
AR .persisted? throws SystemStackError for an unsaved model with a
custom primary_key that didn't save due to validation error
Merge pull request #14393 from chrisfinne/persisted_exception

AR .persisted? throws SystemStackError for an unsaved model with a
custom primary_key that didn't save due to validation error
Stop swallowing errors on transaction after callbacks.

[fixes #13460]