Returns a matcher which matches Iterables that have the same length and
the same elements as
expected, but not necessarily in the same order.
Note that this is worst case O(n^2) runtime and memory usage so it should only be used on small iterables.
Matcher unorderedEquals(Iterable expected) => _UnorderedEquals(expected);