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.
Indeed this isn't fixing the backward incompatibility, only addressing the ticket, I probably should revise the commit message.

I tried many approach to this ticket, this was IMO the best option considering that:

- Changing the constructor to behave as before isn't really possible since most error handling that lived in `Form` and `Model` is now delegated to it and it now does a good job at handling edge cases which weren't really taken care of previously. Since it's complex (sometime called recursively) and critical code, I'd be very wary adding bloat to it such as trying to reuse the container given as parameter.

- Changing `update_error_dict()` to avoid returning instances of `ValidationError` would be possible since we only use it in one place so we could easily replace it with a utility function. But with the constructor change mentioned in the previous paragraph, `e = ValidationError(ErrorList(['Code error 2.']))` would lose track of the `ErrorList` type and so `e.update_error_dict(forms._error)` would return an `ErrorDict` that contains a `list` in place of an `ErrorList`. So while that would somewhat work, you wouldn't be able to use the new features from 1.7; in that respect the suggested workaround does a better job since it doesn't break new features. Also we'd be leaving behind a private API with issues that we no longer use ourselves.

Regarding the emphasis, I must admit that documentation is not my strong point, should I put 
`Note that this is only suggested if you already used the ``update_error_dict()`` private API and need both Django <= 1.6 and 1.7 compatibility. Django 1.7 has the :meth:`~django.forms.Form.add_error()` public API which takes care of edges cases and remove fields from ``cleaned_data`` automatically.` in a warning box? Also should `add_error()` be promoted to a major feature with accompanying descriptive paragraph and examples?