Changed all MatchResult in MatcherWords to construct error message lazily, and use pretty toString for Matcher/MatcherFactory.  Fixed a deteched bug in MatchResult's negated function and also in NotWord where added diffString in places that it should be called.