Tidied the last bits of the templatizing

The parser was not being spawned correctly, and the operator[] was not
pulling things in a sensible way.

We may yet need to do more work, depending on how we want to load new
items into the caches, and handle fallback items.  It may be most
sensible, in the case that the object we're looking for is not in the
cache, to return a "fallback" object, and handle the work of loading
the actually desired object in another thread.  However, this may
require some locking, or some flags of some sort to prevent multiple
loads of the same resource.