Caching

This adds caching for the locale JS assets and improves the diagnostic output when asset retrieval/caching goes awry.
It has, indeed, always worked this way.  I can work on it, if you really think it's important.  If so, I'd kinda rather have more verbose info (somehow indicate that they are "sub-assets") than change the flow, though.