Simplify the code in schema cache

The use of default procs was unnessecary, made the code confusing to
follow, and made marshalling needlessly complex.
Merge pull request #15277 from sgrif/sg-schema-cache-refactor

Simplify the code in schema cache