removed unused console.log

Removed an old console.log used for debugging from the AST printing.
lib/parse rule parsing speed improvements

For lib/parse.ts, the way that rules get finalized and their eventual
result is provided, has been optimized.

This is done by removing the anonymous functions returned, and
instead just returning the data that they use. The data is then
processed
with a pre-constructed function.
speed optimizations across ast construction and validation

Speed improvements have been given, by removing
a lot of intermediate values which contained no data,
and replacing them with null values.