more readable unordered traversable matcher

it accidentally fixes the junit problem. Note that this version is a little smarter: it doesn't keep checking (as in `remainingChecks.map(c => (c, c.check(cur)))` ) once a check succeeds.