installation: fix for Solr 3.1.0 distribution URL

Co-authored-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
Merge branch 'maint-1.1'

* maint-1.1:
  installation: fix for Solr 3.1.0 distribution URL
installation: fix for duplicate /css alias

* Avoids writing twice the /css alias directive for the Apache
  config.

Co-authored-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: better restricted collection search

* Improves restricted collection handling by automatically
  showing restricted collections that are accessible to the user.
  Covers the following cases:
   - a record belongs to a restricted collection and
     to other public collections.
   - a record belongs to different restricted collections.
   - search results belong to different restricted
     collections (user has rights or not) and to public
     collections.
   - search restricted results belong to collections that
     not are daughter of the collection from which the user
     started his/her search.
   - display results in the right position in the
     collection tree.
  (closes #1161)

* Adds new restricted collections in demo collection tree,
  and inserts records from CDS into these collections:
     Articles & Prepints -> Drafts (restricted)
     Articles & Preprints -> Notes
     ALEPH -> ALEPH Papers
     ALEPH -> ALEPH Theses (restricted)
     ALEPH -> ALEPH Internal Notes (restricted)
     ISOLDE -> ISOLDE Papers
     ISOLDE -> ISOLDE Internal Notes (hidden and restricted)

* Sets up new demo roles:
     thesesviewer -> jekyll@cds.cern.ch
     ALEPHviewer -> balthasar.montague@cds.cern.ch
     ISOLDEnotesviewer -> dorian.gray@cds.cern.ch

* Removes the config variable
  CFG_WEBSEARCH_PERMITTED_RESTRICTED_COLLECTIONS_LEVEL
  everywhere.

* Implements the "hidden" collection handling:
     - If a user has rights to see a restricted and
       "hidden" collection, the following warning will be
       displayed: "If you were looking for a hidden document,
       please type the correct URL for this record".
     - If a user not has rights, the following warning will
       be displayed: "If you were looking for a non-public
       document, please choose the desired restricted
       collection first", without mention that this record
       belongs to a "hidden" collection.
     - If a user types the URL of a "hidden" record,
       and he/she has rights, the record will be displayed,
       otherwise is redirected to the login-page.

* Writes regression tests in a new class called
  "WebSearchRestrictedCollectionHandlingTest".

* Adds python regression tests to the class
  "WebSearchSearchEngineWebAPITest".

* Amends test cases for the other modules according to newly
  added test records.

Co-authored-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: fix for double display of the footer

* Raises an exception in the case there are no results
  to display in order to avoid displaying twice the footer
  and the box proposing links to other useful search engines.

* Removes calls to page_end() and
  perform_external_collection_search_with_em() when there are no
  results to display since these functions will be executed
  in the top level.

* Handles the exception to postpone the execution of those
  functions.

Co-authored-by: Tibor Simko <tibor.simko@cern.ch>
WebStyle: restricted flag rotation fix for IE 9

* Prevents double rotation of the "Restricted" flag in IE9 by
  disabling the "filter" property in this case (only IE9
  should understand and apply both "filter" and "transform").
WebStyle: softer display of full-text snippet box
Merge branch 'maint-1.1'

* maint-1.1:
  WebStyle: softer display of full-text snippet box
  WebStyle: restricted flag rotation fix for IE 9
installation: fix for ckeditor distribution URL
Merge branch 'maint-1.1'

* maint-1.1:
  installation: fix for ckeditor distribution URL
installation: fix for jquery timepicker add-on URL
Merge branch 'maint-1.1'

* maint-1.1:
  installation: fix for jquery timepicker add-on URL
global: removal of psyco

* The psyco module is a JIT Python compiler. This project
  is available only on 32-bit architectures and is nowadays
  no longer actively developed.  Moreover it has been discovered
  that it can cause conflicts with intbitset. For these reasons
  this commits removes the usage of psyco in Invenio.  When needed,
  cython could be used to accelerate critical parts of Invenio.
BibRank: begin_date initialisation in del_recids()

* The begin_date variable in del_recids was used without
  being initialized. This is now fixed.
Merge branch 'maint-1.0' into maint-1.1

* maint-1.0:
  BibRank: begin_date initialisation in del_recids()
  global: removal of psyco

Conflicts:
	INSTALL
	configure-tests.py
	modules/bibrecord/lib/bibrecord.py
Merge branch 'maint-1.1'

* maint-1.1:
  BibRank: begin_date initialisation in del_recids()
  global: removal of psyco
WebSearch: fix for regression test link targets

* On one build node, four regression test cases were failing because
  they were expecting a link URL arguments to be written in certain
  order, while the code prints arguments from a dictionary without
  imposing any particular order.

  This commit fixes the tests by simply checking for link label instead
  of checking for link target URL, because in this particular case it
  is sufficient.  Later, we may want to build URLs according to a
  certain preferred order of arguments, e.g. `p` before `sf`, etc.