Add a Not parser;

Add the tests for XAtLeastOnce parser.
Add IgnoreCase parser
Fix the bug in Optional parser that consumes input
if the given parser partially matched.