Documented Grammar.defineRule, and updated it to return true if the rule was added to the Grammar
Added Grammar.undefineRule to support undefining rules prior to AST construction