Return fresh scalar from join(const,const)

$ perl5.20.1 -Ilib  -le 'for(1,2) { push @_, \join "x", 1 } print for @_'
SCALAR(0x7fb131005438)
SCALAR(0x7fb131005648)
$ ./perl -Ilib  -le 'for(1,2) { push @_, \join "x", 1 } print for @_'
SCALAR(0x7fe612831b30)
SCALAR(0x7fe612831b30)

Notice how we now get two references to the same scalar.  I broke this
accidentally in 987c9691.  If join has two arguments, it gets con-
verted to a stringify op.  The stringify op might get constant-folded,
and folding of stringify is special, because the parser uses it
itself to implement qq().  So I had ck_join set op_folded to flag
the op as being a folded join.  Only that came too late, because
op_convert_list(OP_STRINGIFY,...) folds the op before it returns it.
Hence, the folded constant was flagged the wrong way, and stopped
being implicitly copied by refgen (\).
op.c:fold_constants: Simplify OP_STRINGIFY logic

Don’t put the same condition in two places.  We are already using a bool-
ean.  We can put the result of the condition in it.
op.c:fold_constants: Remove OP_RV2GV/newGVOP

OP_RV2GV is not foldable, so it never reaches this code, which
goes back to 79072805 (perl 5.0 alpha 2).  Even back then it was
unreachable.
Correct dependencies for charclass_invlists.h

regen.t should fail if Unicode tables are updated and this header is
not regenerated.

See commit 713f4b7fa and the thread beginning at
<20141204124705.472.qmail@lists-nntp.develooper.com>.