print function names in MXFunction and Function code generation

This applies to both the declaration of a Function, and a call node in an MXFunction.
This is dangerous because a user could escape the comment and then execute arbitrary code, for instance
with the function name "*\/system(\"rm *\")".
This will be addressed in a separate commit.
sanitize names in comments for code generated Functions and MXFunction calls

a31a680 made code generation also print function names (in comments). This was dangerous
because users could escape the comments and write arbitrary c code. This commit adds a
method Function/FunctionInternal::getSanitizedNames() which returns a safe version
of the name with non-alphanumeric characters replaced with '_'. This method is used
for the code generation.