removing the static, disk-based node cache.

We don't need it.  This can be built dynamically with really little overhead--a single traversal through the topic tree.  In fact, this is the amount of work needed to build the "moviecounts"*--which we've already seen no problems from.

*--we call copy() on NODE_CACHE, which will slow things down.

This:
* Saves disk space
* Avoids duplicating topic data on disk (making our migration to Phase 2 easier).

This change also adds a "parents" list to NODE_CACHE, for efficient association of an exercise/video/topic with parent topics.  This is used in my dependent pull request (coming)