Fix refcounting in rv2gv when it calls newGVgen

When the compiler (op.c) can’t figure out the name of a vivified file-
handle based on the variable name, then pp.c:S_rv2gv (which vivifies
the handle at run time) calls newGVgen, which generates something
named _GEN_0 or suchlike.

When it does that, the reference counting is wrong, because the stash
gets a *_GEN_0 typeglob and the reference stored in open’s argument
points to it, too; but the reference count is nevertheless 1.  So
if both sources shed their pointers to the GV, then you get a
double free.

Because usually the typeglob sits in the stash until program exit,
this bug has gone unnoticed for a long time.

This bug appears to have been present ever since rv2gv started call-
ing newGVgen, in 2c8ac474a0.