Add grep functionality

This PR adds `grep` and `listTests` commands to Intern. `grep` allows tests to be filtered by test ID. `listTests` lists all the tests that Intern will run, post filtering if `grep` is used. `grep` works from the command line and may be set in the test config file. `listTests` only works from the command line. See #123.
How about getting rid of `runTest` and entirely skipping the `call(test.tests ...)` chain if a test should be skipped? Something like:

```js
function shouldRun(test) {
	// check if test is a suite, is explicitly marked as skipped, or matches the grep regex
}

...

if (shouldRun(test)) {
	// normal call(test.tests ...) chain
}
else {
	runNextTest();
}
```