Defer autoloading to eliminate needless loads.

In certain circumstances, such as when loading a complex JSON object with other resources inlined, it might not be necessary to autoload the values of certain remote properties, because those values will be loaded from the inlined data. They just haven't yet.

This fix waits with attempting to autoload until the end of the current run loop iteration, when any such big loading operation should have completed. If this resulted in the auto loaded value already being loaded, the ensureLoaded call will do nothing and save a server roundtrip.