Minor (fix vim modeline)
Distinguish names from strings

This will allow to disambiguate names using indexes without embedding
the indexes in the names.
Show why we use decoded

Names with special chars, like +, are encoded, but we want the decoded
version (that is, the original) in the AST.
Change pretty-printing for IdxStringName
Add fresh name generator using IdxStringName
Merge remote branch 'origin/master'

Conflicts:
	macros/UntypedLambdaCalc.scala

Warning: I've merged two diverged histories from two different hosts,
and I've done it much later when I had forgot the details, so I'm not
sure how good this is.
(I think it's in fact a merge of orthogonal changes, so no problem).