Several changes to aid in grammar debugging

Moved file reading to main.d. Added getopt() call and added -verify
option. -verify option uses internal ruleset for grammars to verify
passed ruleset file, as a method of ruleset error checking. Changed
several debug blocks to a different identifier. Fixed a bug in
'+' operator to handle multiple levels of "recursion" on that
operator.
Adds implementation of hackish AST form fixer

This function attempts to set nodes to their proper parents when
they're added to the stack in an odd order. This is not a proper
solution and a complete reworking of AST generation is in order
Initial work on more complete AST reference implementation

This implementation will feature an inheritance tree
of different AST nodes, more suitable for use as a proper AST tree
of a parse. More importantly, this implementation will actually
flex the flexible power of the decoupled parser/AST-gen approach.
Working, extremely minimal implementation of new AST design

Of particular note is this system generates the correct parse tree
for the pathological case in pegEx7.peg/srcEx7.src
Merge branch 'allUnmergedFeatures' into alternateASTApproach

Pulling in small changes from allUnmergedFeatures
Removed commented-out, old code
Added version(PARSETREE) code that adds auto parse tree generation
Added contracts to Stack push and pop
Merge branch 'addContractsAndCTFE' into allUnmergedFeatures
Merge branch 'parseTreeImpl' into allUnmergedFeatures

Conflicts:
	DParse.d
	Makefile
Merge branch 'allUnmergedFeatures' into mergeAllUnmergedFeaturs

Conflicts:
	DParse.d
	Makefile
Updated ast2.d Stack impl, added pretty print content

Also added an ElementASTNode subclass
Fixed charClassMatch bug, updated unittest, fixed trimWhitespace bug
Merge branch 'allUnmergedFeatures' into alternateASTApproach

Conflicts:
	DParse.d
Removed ast.d file, updated Makefile
Fixed Makefile