memoiseutils: initial release

* Centralises the existing Memoise class into the new utility library.

* Adds unit test cases for Memoise.

Signed-off-by: Tibor Simko <tibor.simko@cern.ch>
BibKnowledge: optional memoisation of KBR lookups

* Offers optional memoisation of KBR lookups.  Beware, the memoised cache
  is not automatically updated if the KB changes.  Hence this is useful for
  short-lived CLI processes, not for long-lived WSGI processes.
  (addresses #1484)

Signed-off-by: Tibor Simko <tibor.simko@cern.ch>
Co-authored-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
BibIndex: synonym indexing speed up

* Speeds up synonym indexing via KB lookup memoisation.  Leaves searching
  to be done without memoisation.  (closes #1484)

Signed-off-by: Tibor Simko <tibor.simko@cern.ch>
Co-authored-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>