Refactor base matcher.

- Before we were interning all ivar names, even
  on 1.9 where they are already symbols.
- `to_sentence` includes a leading space, so
  remove the extra space.