Fixes #5949: Adds entity preloader and integration

I'm already not crazy about my idea to keep this option "private" with the double underscore. There's simply no way to keep an Elgg query function option private and use it in bundled plugins. This make me think of named queries (#4453), which would allow us to enhance core plugin queries without devs learning about the preloading key.

Other option is to just commit to making this option public.