Lazy Yet Pretty BeWord, ContainWord and EndWithWord

-Changed MatcherResult in BeWord, ContainWord and EndWithWord to construct error messages lazily.
-Make toString of Matcher/MatcherFactory returned from BeWord, ContainWord and EndWithWord to print pretty matcher text.