WebAuthorProfile: disable if not available

* Only enable profiles if they are using bibauthorid.
BibAuthorID: fix 'create new person' ticketing issue

* Administrators with an associated profiles can now properly
  create new persons

* Fix in ticket display
BibClassify: always use invenio code

* We remove duplicate code and at the same time make sure that any future
  improvement to encode_for_xml and make_user_agent_string
  won't be silently ignored.
DocExtract: extract page-end from references

* RefExtract preserves page-end, also added
  extract_journal_reference() function to get reference data
  from single strings.

Reviewed-by: Alessio Deiana <alessio.deiana@cern.ch>
Tested-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
BibCatalog: improve RT search error handling

* Improves the error handling of the BibCatalogSystemRT plugin
  for BibCatalog.

* Now also prints the original stacktrace when BibCatalog deamon
  fails.
WebSearch: wgsi.errors in fake request

* Adds a string buffer to environ['wsgi.errors'] so that log_error
  is now functional within tests.
sequtils: no texkey if no year

* Does not create a texkey if there is no year field.

* Adds test.
WebSearch: reworks async downloader
BibRank: adds a new option to disable bibsort

* Adds CFG_BIBSORT_ENABLE which allows us to disable bibsort in the search
  engine while keeping the ability to run the bibsort daemon.
  (closes #1617)
BibSched: subdirs for bibsched logs

* Splits bibsched logs in subdirs so that do not hit the max number
  of file in the filesystem. Each 10k tasks a new directory is created.
  e.g. for task id 12040 the log will be stored in
       var/log/bibsched/1/bibsched_task_12040.{log,err}
  This happens a lot on AFS were the limit is around 20k.
WebSearch: rg parameter with of='id'

* of='id' is not a special case anymore and behaves like all the other
  output formats, respecting jrec and rg parameters.
WebAuthorProfile: reenable profile pages
BibAuthorID: caches badly stored in user settings

* We were storing too much in the user settings (all the user info actually).
  This patch fixes it.
BibSched: pep8 for bibched.py
BibSched: pep8 for bibtask.py
BibUpload: affected fields and insert mode

* Properly handle affected fields when in insert
  (or insert_or_replace) mode, by recognizing
  when a record is actually created from scratch
  and all its fields are hence affected.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
BibCheck: properly cumulates records

* Properly cumulates records scheduling batches
  of 1000 records to amend via BibUpload.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
DocExtract: additional report numbers
BibAuthorID: merge and manage fixes

* Display a more meaninful error when requesting manage page for
  a non existing profile

* Better handling of profiles while merging
BatchUploader: authorize via CIDR

* Extends IP-based authorization by supporting
  network ranges (i.e. CIDR) as well.