Dirty fields need to be refreshed after updating event fired to accommodate additional changed fields

The updating model event may be used to contextually changed other model fields. Unfortunately, these changes do not get saved as the array of dirty values isn't refreshed after firing the event, except in the case where timestamps are used.

This update ensures that dirty fields are always refreshed just before the update process takes place.