Unique generated variable names

fix #358 by causing the local variables in the generating kernel to have names which do not conflict with any user-defined names.