Refactor the matchmaker.

It now doesn't double-check people and only fetches all-chars once.