Make gv_stashpvn() use PL_stashcache

perl has a stash name lookup cache, which is currently just used for
looking up up class names in Some::Class->method calls. This means
that a lookup of the class name 'A::B::C' gets reduced from doing
several stash lookups (e.g. $::{'A::'}{'B::'}{'C::'}) to a single
cache lookup (e.g. $PL_stashcache{'A::B::C::'}, so to speak).

Make gv_stashpvn() use this cache too, which means that all package
name lookups benefit, not just class method calls. Among other things,
this also indirectly affects bless operations both from Perl (OP_BLESS)
and XS.
Make S_method_common use gv_stashpvn instead of copypasted cache usage

The previous commit copied the PL_stashcache handling code from
S_method_common() to gv_stashpvn(), so now we can call that function
directly rather than doing it ourselves.