asdict() returns one item per leaf of the exception graph.
That does not cover my use case, which is not unlike
So asdict2() returns more items in the dictionary, allowing you to
place error messages in more places of your form.
Originally I intended to replace the behaviour of asdict(), but
in so doing I broke 4 other test cases, so I expect this kind of
change has to be made on a new API. Thus, asdict2().