This module gives an implementation of a thread safe
Least Recently Used Cache. It is setup using a cyclic
vector, i.e. a vector that is assigned in a cyclic way.
Each new element in the cache is considered the least
recently used element. If the full cache of elements is
in use, each new element will overwrite the oldest (i.e.
least used) element.

The LRU Cache is searched lineairly for elements in the
cache. Older elements will be reached slower, because
the search is larger. A full search on a fully used
cache vector, will go exactly two times through the
vector of cached elements. The search is done recusivly.
If an element is found, it will bubble up to the front
of the cache. If it is needed again soon, next time it
is needed, it will be in one of the first positions
of the cache.

Returns #t, if the cache has no elements, #f otherwise.
This function is not thread safe. This is however not
important, as it returns a snapshot in time of the
state of the lru-cache, that will only be of value
in a context where concurrent access is not of importance.