BibFormat: setUp/tearDown in unit tests

* BibFormat unit tests were amending bibformat_engine internal
  configuration variable to set up testing path. The implementation
  was lacking however proper tearDown causing all sorts of side
  effects to tests happening afterwards, in particular affecting
  get_record()/print_record() calls for empty record.
  This is now fixed.  (closes #1319)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
Merge branch 'maint-1.1'

* maint-1.1:
  BibFormat: setUp/tearDown in unit tests

Conflicts:
	modules/websearch/lib/websearch_regression_tests.py
BibFormat: fixes unit tests

* FormatTest failed to append CFG_TMPDIR to sys.path and resulted
  in tests failing under some conditions. (closes #1320)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibFormat: checks for bibformat bin

* Before calling call_old_bibformat we check that bibformat
  binary exists. We do not install it anymore so it only exists
  as legacy.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibCirculation: ILL improvement

* Improves the get_ill_requests_details() function.

* When loans are recalled manually, the sender email is
  set to CFG_BIBCIRCULATION_LOANS_EMAIL.

Reviewed-by: Ludmila Marian <ludmila.marian@cern.ch>
WebSearch: advanced search notification if no hits

* If an Advanced Search query yields no hits due to the boolean
  operation, inform the user and also print the total search
  results numbers for each individual search pattern, quite like
  in the Simple Search query.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
Merge branch 'maint-1.1'

* maint-1.1:
  WebSearch: advanced search notification if no hits
  BibFormat: checks for bibformat bin
  BibFormat: fixes unit tests

Conflicts:
	modules/websearch/lib/search_engine.py
WebSearch: better cleaning of word patterns

* Cleans word patterns of any trailing punctuation signs if they are
  followed by at least one space.  This is done for better consistency
  with what the indexer component does.

Reported-by: Alexander Wagner <a.wagner@fz-juelich.de>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibDocFile: allow doctype renaming

* Implements the doctype renaming for a BibDoc.

* Fixes bibdocfile CLI action `--set-doctype`.  (closes #980)

Co-authored-by: Samuele Kaplun <samuele.kaplun@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibDocFile: implements format renaming

* Adds support in BibDoc for format renaming if the new format
  does not already exist among the latest files.  (closes #1318)

Tested-by: Tibor Simko <tibor.simko@cern.ch>
Merge branch 'maint-1.1'

* maint-1.1:
  WebSearch: better cleaning of word patterns

Conflicts:
	modules/websearch/lib/search_engine.py
BibDocFile: fix for BibDocFile instantiation

* BibDocFile was recently refactored so that it no longer takes a
  doctype parameter on initialization.  However the function
  generic_path2bidocfile was still wrongly initializing BibDocFile
  with the this parameter.  This patch fixes the problem.
  (closes #1317)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
DocExtract: move mislabelled regression tests

* Moves mislabelled regression tests from unit test suite
  to regression test suite.  (closes #1309)

Co-authored-by: Tibor Simko <tibor.simko@cern.ch>
WebSession: session_param_get() default value

* Optimises `session_param_get()` function to always return default value
  instead of raising KeyError exception when the given key is not found.
  (closes #1294)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibDocFile: handling of exceptions in Md5Folder

* Improves handling of exceptions in Md5Folder by not causing automatic
  reload of md5 in case of Exceptions. (closes #1060)

* Additionally, always use register_exception(alert_admin=True) in case
  of MD5 related issues, as these are severe enough to call for further
  human check.

* Introduces Md5Folder regression tests.

Reported-by: Alessio Deiana <alessio.deiana@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
Merge branch 'maint-1.1'

* maint-1.1:
  BibDocFile: handling of exceptions in Md5Folder

Conflicts:
	modules/bibdocfile/lib/bibdocfile_regression_tests.py
OAIRepository: forcing clients to re-harvest

* Introduces a new OAI Set operation called "touch", available from the
  administrative web interface, that allows admins to force clients
  re-harvesting a particular OAI set. This is useful in case e.g.
  the format use to convert to e.g. OAI_DC has been enriched.
  (closes #1218)

Reported-by: Martin Lessmeister <mhl10@cornell.edu>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
I18N: updates to Catalan and Spanish translations

* Merge note: amended Python format in one phrase to pass validation.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: Search Guide reformat and pretty-print

* Indents and reformats the guide using Emacs HTML mode
  indent-for-tab-command and fill-paragraph commands.
  There has been absolutely no content change in this patch.
  There are a few mismatch tags and a couple of unescaped
  greater-than characters.  They will be fixed in the next patch,
  because otherwise it is too difficult to isolate the changes.
WebSearch: fix Search Guide mismatch tags

* Second round of fixes: adds missing tags, replaces tabs with spaces
  and reformats document.