Consistent after save and updateAttributes

-  Ensure consistent behavior in ActiveRecord::afterSave() (fixes #4012)
- changed updateAttributes to be more simple update (fixes #3233)
I think `ModelEvent` could be eliminated since it does not contain some good logic, what is it for ? what is `isValid` for ? It should be `BeforeSave` event and other .