Deprecate ActiveModel::Dirty#reset_changes in favor of #clear_changes_information

This method name is causing confusion with the `reset_#{attribute}`
methods. While `reset_name` set the value of the name attribute for the
previous value the `reset_changes` only discard the changes and previous
changes.
Deprecate `reset_#{attribute}` in favor of `restore_#{attribute}`.

These methods may cause confusion with the `reset_changes` that
behaves differently
of them.

Also rename undo_changes to restore_changes to match this new set of
methods.
Merge pull request #16180 from rafaelfranca/rm-dirty

Improve Active Model Dirty API.