Updated has_text and match_text functions to include a negative component

The functions now check that a positive search is matched and a negative search isn't matched. So has_text("##", "#") will be True for "##a" but false for "###" and "abc"
Added excluded_chars to discard_lexeme

Sometimes you want to not discard the last few characters of something you've already read in.

Also fixed an obvious syntax error from the previous commit.
Took care of a few IDE warnings
Re-wrote current tokens

The comment tokens now use the new buffers