Same idea as Xctool-based tests. This runs the test binary once to get the list of tests, filters them down and runs the selected tests with -r.
This approach is somewhat suboptimal in python since getting the list of tests actually runs code in python (e.g. if you have module-level setup, it will get run). However, since the double exec only happens with --test-selectors, I think this is ok. Alternatively, it's pretty easy to re-implement TestSelector(List) in python.
Addresses part of https://github.com/facebook/buck/issues/302