Bug Fixes

Added a new rule for skipping tokens, mainly to aid testing but, can
have other uses. Improved the TokenStream API and added some Tests.
Improved the Choice Rule to now use an enum rather than a boolean, and
added functionality for what rule it choses.
Cleaned up the imports