Fix: scheduler: multiple issues with value-source in location rules
Delay creating rule match data for location constraints until the node is
known, and evaluate the rules using that node (using the new resource
parameter function). This fixes multiple issues:
- Previously, match data using resource parameters was created only when rsc-pattern was specified and a resource positively matched. This meant that a node attribute rule expression with a value-source of "param" or "meta" would only work in that case, and not when rsc was specified instead, or when rsc-pattern was specified with an inverted match ("!pattern"), or when a rule was used in a constraint with a resource set.
- Previously, with rsc-pattern, the match data used the resource's default parameters (not evaluated by node). This meant that a location rule that used a node attribute expression with a value-source of "param" could not be used with a resource parameter that itself was determined by a rule using a node attribute expression.