Changed all MatchResult in BeWord to construct error message lazily.
Changed all MatchResult in ContainWord to construct error message lazily.
Changed all MatchResult in EndWithWord to construct error message lazily, and fixed inconsistency in error messages of endWith regex withGroup(s).
Converted Spec to FreeSpec to get around file name too long problem.