1. add_rule extended to allow including comments and actions.
2. set_rule added, doesnot affect comments or actions
3. added ruleStruct and inspectRule
4. added print.ruleStruct: common interface for printing rules (used for displaying the results of  inspectRule and by print.genE