for now, i separated the memory preload functions into its own
file. that will eventually merge back in with preload.c after
moving all funcs to the cleaner preload design as part of #37.
there are still a number of pointers that we are not tracking
or tracking incorrectly. more analysis needed there.
refs #37, refs #144