Fixed #22915 -- Document backward incompatible changes in the Validation...

...Error constructor.

This patch also fixes update_error_dict to better handle the use case described
in this ticket, previously the type of the provided container could be lost in
some conditions.
Sure - but this isn't "fixing" #22915 in the sense of fixing the backwards incompatibility - it's just documenting that a problem exists, and showing the way forward. To that end:
* the patch to the implementation of ValidationError is a separate problem (to be sure - a problem worth fixing, but a separate problem).
* I'd prefer to see more emphasis in the docs on the "you should be using add_error()" part, rather than the "here's how to make your usage of `update_error_dict` not break".