Implement nfa.setEndTag()

It should be more appriate interface later, when lexer will use NFA
Mark proposal regarding extracting NFABuilder
Rename countPartialMatch to partialMatch
Start making Lexer

As a basis Regex is used.
Eventualy Regex will be discarded,
because it can't be used in its current form, and making it usable
would cause more comlpexity then actual worth. (anway it was just glue ast/dfa/nfa)
Unittest that order of regex addition matters