crank up cache limits delete pages that are older than one hour, and scan the cache only once every five minutes. The previous defaults were a bit too much conservative.

drop useless struct instead of keeping the struct mcache that's private to mcache.c and used only once, just define its fields as (static) variables. While here, mark as static also gemtext_prefixes.

timer-based cache removal: delete cached pages older than 15 minutes

cache: keep track of the total size and number of cached pages

mcache_tab: free previous copies of that page

move util.c declarations in utils.h it's not spelled `util.h' because otherwise it'd get included instead of /usr/include/util.h

de-duplicate hash_* function: collect them in util.c

save parser name across mcache_tab/mcache_lookup

simplify the caching API - don't expose the evbuffer where we store the cached page - cache to/from tabs instead of buffers

add an in-memory cache store see github issue #1