Faster replay browser loading

Partial fix to address the core issue (slow replay browser loading) behind the suggestion given in #5942.

This parallelizes the loading process and removes a few bottlenecks. An informal test with 1200 replays sees the "Load Replays" time reduced from 3527 ms to 1210 ms on my dual core machine. Machines with more cores might see even bigger improvements but eventually IO will take over as the bottleneck so things will plateau somewhere.

This doesn't actually implement any lazy or background loading as suggested in #5942. That would probably be worthwhile, particularly for when the replay files are not in the file cache and waiting on IO becomes the main issue.
Yeah I appreciate changing formatting can make rebasing much harder. I've been trying to reduce my formatting fixes to files that I've already made changes to since people will already have to resolve conflicts when rebasing around them.

That said, I generally think tidying things up in worth it in the long term since the code will get read many times in future, even if there's some short term pain.

For this specific case with the blank lines. I think they're weird (they also fail StyleCop), but I'm not fussed if people would rather keep them.