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.
I didn't put the message in the Error because it seemed redundant since I'm also setting the test.skipped message, and the error should never make it out of the run loop, anyway. Given that, a shared object seems worthwhile.

With regards to handling annotation in the run loop, it causes issues with grep since `Test#run` isn't called when a test is grep filtered. Grep support is also why I have that unsavory `shouldThrow` argument for `skip`. I'll see what I can come up with.