Generate <Base>1, <Base>2, etc atoms on each subsequent call.
Note that there is nothing that prevents other parts of the
application to `invent' the same identifier. The predicate
gensym/2 is thread-safe in the sense that two threads generating
identifiers from the same Base will never generate the same
identifier.