Handle name clashes/syntax errors of generated variables
Generated variables should not clash with any imported modules, methods, builtins etc. Currently only clashes between variables are sometimes detected and avoided (by prepending/appending them with '_').
Variables are restricted by the FML syntax to avoid a list of keywords, but not in the StructureMap. They can be any valid id (1-64 characters, upper and lowercase letters, numbers, dashes and dots). Also we sometimes use the element (and context?) of the source/target as variable. The context is constrained in the same way as variables, but element is not constrained and might contain any character.
=>
Add a method to get a python variable name from a structure map variable/element/... without any clashes (e.g. by appending '_1', '_2', ...) and eventually escape variables derived from elements (the same way that generateDS does) before.