Lets `./mach test` infer testsuite from file

Usage Example:
```
$ ./mach test tests/wpt/web-platform-tests/dom/interfaces.html
 0:00.27 LOG: MainThread INFO Using 1 client processes
 ...
```

Note that while there is no functionality for `test-ref` to accept
individual files, `./mach test tests/ref` will still trigger `test-ref`.
auto merge of #4090 : mttr/servo/mach_infer_test, r=jdm

Fixes #4086

Lets `./mach test` take a file or directory as an argument, and infers `test-content`, `test-wpt`, or `test-ref` from the file's path. 

Usage Example:
```
$ ./mach test tests/wpt/web-platform-tests/dom/interfaces.html
 0:00.27 LOG: MainThread INFO Using 1 client processes
 ...
```
Note that while there is no functionality for `test-ref` to accept individual files, `./mach test tests/ref` will still trigger `test-ref`.

Passing arguments properly through python would have been ugly (though maybe there are some mach internals I could have taken advantage of), so this instead runs a new mach process and lets the individual test suites manage their arguments like normal.