WebSearch: new Add-to-Search Interface

* New search box interface that contains both simple search
  and advanced search (javascript dependent) (addresses #622).

* Replaces the 3-line advanced search, with only 1-line add-to-search,
  with the possibility of adding patterns to the current search pattern.

* Ammends regression tests to take into account a third search
  interface.

* Moves the config variables CFG_WEBSEARCH_ENABLED_SEARCH_INTERFACES and
  CFG_WEBSEARCH_DEFAULT_SEARCH_INTERFACES from the inveniocfg.py to
  invenio.config (closes #271)

Signed-off-by: Ludmila Marian <ludmila.marian@gmail.com>
SolrUtils: reliable regression test suite

* Makes test suite independent from PDF extraction process.
  (closes #1590)

* Simplifies test suite

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
WebSearch: new parsing of unbalanced phrase queries

* Removes unbalanced double quotation marks.

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
WebSearch: new fulltext by default search

 * Adds checkbox to search terms also in to fulltext to the add
   to search interface.

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibRank: Solr: better ranking for fulltext by default

 * Ranks fulltext and metadata properly

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
Solrutils: more accurate ranking scores

 * Ceils ranking scores to avoid anomalies

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibRecord: new MARC code filter

* Filters a record based on MARC code

* Supports wildcards in identifiers and subfield code

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibFormat: new 'xmf' format

* Supports filtering per MARC tag, identifier and subfield

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
WebSearch: fix number of printed records

* Fixes the number of records printed when a ranking methond is
  used.

Co-authored-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
Signed-off-by: Ludmila Marian <ludmila.marian@gmail.com>
BibEdit: holding pen fix

* When merging a record with a template, if the record is a hp record
  make all its subfields volatile.

Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: debugging all user actions

* On the client side, keeps all actions in a list.

* On the server side, when an exception occurs, the action list is
  displayed on top of the exception.

Co-authored-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: check for record in BibSched queue fix

* Considers all OAIID_TAG, not just the first one.

* Fixes problem when metadata contains regular expression special
  characters.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: modal submission preview window

* Makes the submission preview window modal.

* Avoid double submission by disabling submit button on click.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: InvalidCache exception on clone

* Catches InvalidCache exception on clone.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: int object is not iterable fix

* Fixes "int object is not iterable" exception.

Signed-off-by: Alessio Deiana <alessio.deiana@cern.ch>
Reviewed-by: Samuele Kaplun <samuele.kaplun@cern.ch>
WebStyle: req object with no headers

* When scripting, improve handling of mocked req objects
  by supporting cases when no headers are provided.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibCatalog: requestor on ticket submit

* Passes requestor on ticket submit.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibCatalog: better error reporting

* Reportis the error output from the RT CLI output when it fails.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: new RT ticket through UI dialog

* Creates a UI dialog on new ticket click. It contains a minimal form
  for quick submission of a new RT ticket.

* For chosen queues can produce template subject and content for the
  ticket, through the use of ticket templates plugin.

* Retrieves all needed information through an Ajax request.

Reviewed-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Tested-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibEdit: duplicate code removal

* Removes duplicate code left-overs.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Reviewed-by: Samuele Kaplun <samuele.kaplun@cern.ch>