Implement dfa.countPartialMatch(string)
Reimplement checkWord() using countPartialMatch()

Also small change in countPartialMatch to allow match of empty string
Improve unittests for dfa matching routines
Rename checkWord() to fullMatch() in dfa