Refactored ValidationError to allow persisting error params and error codes as the exception bubbles up
Fixed #20199: Allow ModelForm fields to override error_messages from model fields
Updated all raised ValidationError to provide error codes