runner: Precompile regexes; use set

- `set`s are used because we don’t care about the order of the patterns.  We just iterate through them to see if anything matches.  The interpreter loops over unordered collections waaay faster.
- Using `frozenset` would theoretically be even better; however, since we want to implement an `@ignore` decorator for test members, `set` is used.  (It should still be faster than the previously-used `list`!)
runner: Better variable names

Given the recursive nesting of contexts and vows, it was starting to make my head hurt to see `member` and `member_name` everywhere.

This makes it much easier for me to read.  I hope it makes it easier for you to read, too!
Merge pull request #87 from Zearin/runner-tweaks

runner: minor tweaks (variables, regex compilation)