Fix the eval component cache

The eval component cache wasn't instantiating components when it wasn't in heavy use, totally messing up the build vs. eval phase distinctions.

@kluver, this may also have been causing the caching problems experienced by the MovieLens team.
You are correct.

Previously, the no-op meant that the node did not get instantiated until test time, since the only build-time instantiation happened through the cache. The cache's interface is kind of broken, but this dummy entry hack lets it actually instantiate nodes so that build-time is really build-time.

There might be an issue here with undesired saving-to-disk. Things should only be saved to disk if they were registered.