anchor.diff:  specifies the `chain` modifier on the previous rule verses specifying
   the `follows()` attribute on the later rule.
   
  --------------------------------------------------------------
  +----
   # Define a "lua/1" rule
   Rule("lua/1",1)
   
  
positive.code: * *Recipe(tag, rule-list)* - Group a list of rules, adding tag to all rules
  and maintaining rule execution order.
  
  Extended Rules (XRules)
  ^^^^^^^^^^^^^^^^^^^^^^^
  
  XRules are useful for Access Control Lists and exceptions. XRules
  compliment other rule forms. See the `XRule*` directives for
  
negative.code: 
  See the documentation for the `RuleExt` directive for more details.
  
  ==== Alternative Rule Execution via Rule Injection Modules
  
  Configuration directive based rules and the Lua DSL based rules are essentially the same thing, but have different syntaxes. From an execution perspective they work the same. A list of rules are executed in turn, one phase at a time. Each rule takes one or more data fields, executes an operator on that data and depending on that operator's result runs some actions. While this is simple to understand, sometime more flexibility and performance is required when executing rules.
  
  Modules may define additional rule execution systems via the rule injection mechanism. Rule injection works in two stages:
  
  * At the end of configuration, every rule injection system is given a chance to claim each rule. Rule injection systems usually claim a rule if it contains a certain action. Only one rule injection system may claim each rule; it is an error for more than one to claim it. If no rule injection system claims a rule, it is added to the default rule engine.
  * At each phase during inspection, every rule injection system is given a chance to inject one or more rules. The rule injection system may use whatever method it desires to choose which rules to inject. Injected rules are then executed as usual.
  
  The rule injection mechanism is designed to allow for specialized rule systems that, for a certain class of rules, are more expressive, more performant or both. For example, the Fast rule injection systems associates a substring pattern with a rule and uses an Aho-Corasick variant to determine which rules to inject. The benefit over the traditional rule system is that rules that do not fire have minimal performance cost. However, Fast is only suitable for a subset of rules: those that require certain fixed width patterns to appear in the input.
  
  TODO: Describe Predicate in terms of rule injection.
  
  The default rule engine claims all rules not otherwise claimed. It evaluates each rule for the appropriate phase and context in order. This approach is slow but also simple and predictable.
  
  === Modules
  
  When full control is required, then an IronBee module may be required.
  Modules provide the ability to hook directly into the IronBee state
  