Implement macros with default parameters that depend on other parameters

Currently, the following results in a property with name $name being set, if $prop_name isn't given.

  - !defmacro
    name: DatasetProperty
    params:
      name: null
      RT: Dataset
      prop_name: ${name}
    definition:
      ${name}_prop:
        type: DictTextElement
        match_name: ^${name}$
        match_value: ^(?P<val>.*)$
        records:
          ${RT}:
            ${prop_name}: $val

Intended would of course be a replacement depending of the value of name, if no prop_name is given.