Use unique names for locally bound variables.

When generating new locally bound variables, use a unique name instead of
'L'.  This fixes a "variable 'L' shadowed in generate" warning when compiling
client code.

The unique name is generated using erlang:now(), which is guaranteed to be
different every time it is called.