- reimplementation of util_memoize cache for NaviServer. The original implementation of the util-memoize functions was based on "manual expirations" (every cached entry was a pair of value + timestamp). This is not needed on naviserver, since NaviServer allows us to specify for every entry directly an expire time, which is implemented internally. The new has the advantage that (a) it is faster, (b) more secure (no race conditions), (c) smaller memory footprint (not only storing the timestamp is not needed; furthermore invalidation of timed-out entries happend in the old version only, when the entry was fetched; in practice (openacs.org) many dead entries where kept, the size wen down by 90%), (d) due to small number of entries the search in the keys is much faster.