WebSession: login_method changes

* Is more gentle when login_methods are altered on an existing
  installation (e.g. by falling back to the default login method
  if the settings of a user specify a no longer existing login_method).

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: permitted restricted colls for guests

* Guests users might be authorized to view restricted collections
  by virtue of a FireRole specifying an IP address. For this
  reason the permitted_restricted_collections variable in
  intersect_results_with_collrecs() is now computed explicitly
  without using the precached_permitted_restricted_collections
  key of user_info which is only computed at login time.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibCirculation: CERN LDAP improvements

* Improves handling of broken LDAP connections by retrying once
  more to connect and then giving up.

* Correctly escapes user input before using it in LDAP filters.

* Improves heuristic to discover CERN account corner cases, namely
  when a user left CERN and she still have a disabled account
  (identified by the "Primary" employeeType) and a new "ExCern"
  account.

* Removes no longer needed sleeping points.

* Reduces the number of calls to task_sleep_now_if_required() and
  task_update_progress().

* Improves progress report wording. (closes #1186)

Tested-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: webcoll performance improvements

* Introduces new -q/--quick CLI argument that improves webcoll
  performance by skipping the rebuilding of webpage cache
  for collections whose reclist has not been modified within the
  last phase1 run (unless --force or --collection CLI arguments
  were specified).

* Removes a point of sleep that could have lead to potential
  race conditions.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebAccess: new CERN auth method support

* Adds support for the CERN specific external_authentication_sso.py
  authentication plugin to expose more attributes provided by
  Shibboleth upon authentication, including the authentication method
  used by the user and the user identity class.

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

* maint-1.0:
  WebSession: login_method changes
Merge branch 'maint-1.1'

* maint-1.1:
  WebSession: login_method changes
Merge branch 'master' into next

* master:
  WebAccess: new CERN auth method support
  WebSearch: webcoll performance improvements
  BibCirculation: CERN LDAP improvements
  WebSearch: permitted restricted colls for guests
  WebSession: login_method changes