Modified the Dao language syntax so rule expressions can now accept variables,
lists, or other expressions that can be evaluated to a list of strings. This
makes it possible to define rules in "RuleSet" objects dynamically during
runtime.