Changed the descriptor for DSL rules so that it more closely matches the expression used in the code to reference the subject. This change also detangles the subject path from the DSL rule descriptor, so that they can be different.
Changed rule DSL transformation to distinguish between those input references in the body of a rule closure, and those inside a closure that is a potential nested rule. This is not used yet. Separating these will allow input references to appear in nested rule closures without being treated as inputs of the outer rule closure.