Rewrite Constructors

ASTNode, ParserBase (LexTokens) have been refactored
to avoid doing duplicate work, especially with the
Lexers.