avoid expired records + use rowids
add a best-effort refresh of expiring values
purge values that are older than 10 minutes past their TTL
make sqlite operations retry if DB is locked
wipe old values only when nothing to refresh
fix the reverse query
lookup in the cache for reverse dns if asked via unicast
factor out the encoding of the answer into a separate call
aggregate multiple answers into a single packet for unicast DNS