Get the test runner working on Windows.

Windows, of course, doesn’t support process forking, so I have to use threads/queues on that awesome platform. Not ideal.
For `rake dist`, grab the submodule for whatever selector engine was specified, even if it’s the default.

This is the thing I forgot to do when I removed our repo’s copy of Sizzle. That version of Sizzle _did_ get used if you tried to `rake dist` but you didn’t have the Sizzle submodule initialized. Considering that we’d have fetched the submodule automatically anyway, it’s not clear how much of a victory this was for user-friendliness.