intbitset: initialization from iterator

* Fixes initialization from an iterator, by peeking
  for the iterator protocol signature in the object
  used to initialize an intbitset data structure thus
  avoiding calling max() in case pre-allocation is
  needed, which would consume the whole iterator
  before allowing the data to be extracted (and
  that would crash when max() is called on an
  empty iterator).
  (closes #1698)

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
OAIHarvest: respect hidden fields

* No longer expose hidden fields via OAI-PMH MARCXML export
  format, following CFG_BIBFORMAT_HIDDEN_TAGS
  configuration.

Signed-off-by: Samuele Kaplun <samuele.kaplun@cern.ch>
WebSession: disable ORCID login

* Disables ORCID login by removing the string 'orcid' from variable
  CFG_OAUTH2_PROVIDERS in file invenio.conf. (closes #1667)

* Creates a regression test into file websession_regression_tests.py
  that checks if the login page has any kind of openid, oauth1 or
  oauth2 login and fails if so.

* Changes a typo in access_control_config.py and removes the
  consumer_key and consumer_secret value from orcid entry in the
  CFG_OAUTH2_CONFIGURATIONS dictionary.

Signed-off-by: Petros Ioannidis <petros.ioannidis@cern.ch>
Reviewed-by: Samuele Kaplun <samuele.kaplun@cern.ch>
I18N: updates to the Persian translation
WebSearch: fix detailed record page tab tracebacks

* Fixes tracebacks in certain detailed record page tabs
  (usage, files, etc).

* Fixes keywords tab that was not showing proper page body.

* Adds regression tests for each tab in order to prevent this error
  from happening again.

Reported-by: Fredrik Nygård Carlsen <me@frecar.no>
Reported-by: Ole Rønning <olerng@gmail.com>
Signed-off-by: Tibor Simko <tibor.simko@cern.ch>
I18N: fix wrong msgids in Persian translation

* Fixes wrong msgid strings in Persian translation.
  Now "msgcmp --use-fuzzy --use-untranslated en.po fa.po"
  yields perfect match.

Signed-off-by: Tibor Simko <tibor.simko@cern.ch>