Make it possible to use an ecosystem describer in more cases Before this commit the describer would only be used if the same set of attributes was found. This means that if the consumer added, or removed, one attribute, we would lose the benefit of better user error messages. With this change, we try to find the _best matching_ describer, if any.
Improve variant matching error messages Error messages prove to be difficult to interpret from a user point of view. This commit tries to improve the situation by doing a couple of things:
1. describing more clearly what the consumer is asking for. This includes, when possible (currently only in the Java ecosystem), interpreting the consumer attributes as a human-readable description, instead of a raw list of attributes. 2. giving more context when possible. In particular, sometimes we fail with an ambiguous variant error selection, but we only list the remaining candidates, not listing the ones which were actually discarded during selection. This proved to be particularly complex to debug from various users (plugin authors and end-users).