Made a fix for template inheritance problems.

Calls to base class methods in derived fails to compile because the compiler uses two-passes.  In the first pass, the template isn’t typed and so it doesn’t know its base class type, and therefore which methods to inherit.  You can either make an explicit case (Matcher<T>::actual()), or go via the ‘this’ pointer (this->actual()) which gives the compiler what it needs.  I can’t figure out why it works for some of the Matcher implementations and not others, it should be one thing or the other, but my preference is to use the this-> syntax because its cleaner and less brittle than the cast type.