warning for an element with too many duplications is written to error stream
elements which require an exponential amount of duplications are not further looked at
refactoring of transformRecursive and several other parts
condition to remove opt node in replaceOptAndId is now:
(!context.and(opt.feature).isSatisfiable)
because elements were falsely removed

fixed a "bug" ? in prettyprinter, Opt nodes of type Opt[String] would never print #ifdef lines even if they had presence conditions, e.g.:
  static const char params[] __attribute__((aligned (1))) =  "-a\0" "-o\0"

  #if definedEx(CONFIG_FEATURE_FIND_NOT)
  "!\0"
  #endif
  ;
Merge remote-tracking branch 'origin/master'