Restructred the NFA class.
Add State and CharClass classes
Merge remote branch 'origin/master'