Arc 4778/4782 split interpolation variable parsing and binding

Massive refactoring to split parsing of interpolation variable in directive parameters from there expansion when we build node configuration. 

Completly change the way we look for interpolation variables from plain regex with a "while something change, try to apply a regex replace" logic, to a real parser + interpretation. 

Also, clean up the data structures used:
- in the promise generation script, we only:
  - read ruleVal at the begining:  ruleVals are image of what the user configured, with interpolation 
  - build nodeConfiguration that are what is used to generate node configuration (and so, promises)
- expandedRuleVal are only used in reporting code
- along the way, we used an internal, private data structure (policydraft)