oauth2server: fix token expiration and refresh

* Sets access tokens to expire after a given time interval.

* Ensures only confidential clients can refresh an expired access token.

* Adds tests for token expiry to ensure correct behavior. (closes #2112)

Co-authored-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
previewer: fix folders identifiers in zip archive

Reported-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix dangerous demosite populate

* NOTE `inveniomanage demosite populate` asks for user confirmation or
  `--yes-i-know` argument.  (closes #2294)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
workflows: fix bootstrap-tagsinput bundling

* Removes the global bundling of bootstrap-tagsinput which
  is used for the filter search in Holding Pen. (closes #2423)

Reported-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
celery: deprecated celeryd replacement

* As of the celery version 3.1, `celeryd` is deprecated in favour of
  `celery worker`. It will be completely removed with the 3.2 version.

Signed-off-by: Daniel Lovasko <daniel.lovasko@cern.ch>
legacy: fix import in bibstat cli

* Fixes import in bibstat script.  (closes #2293)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
installation: improvement of OS X installation

* Removes `sudo` command when installing bower, less ,
  clean-css, requirejs, uglify-js.

* Fixes some `note` elements.

Signed-off-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>
deposit: doi syntax validator improvements

* Makes the DOI validator stop validation.

* NOTE the name of the validator was changed to DOISyntax validator
  because of convertion to a class.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
search: facets unicode error fix

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
installation: workflow>=1.2.0

* Upgrades required workflow package version to 1.2.0. (addresses #1797)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
installation: WTForms, Flask-WTF>=0.10.2

* Unpins WTForms maximal version since Flask-WTF supports its latest
  version since 0.10.0 release.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
mixer: blend improvement

* Loads all models before blend/unblend to match correctly mixers
  with models.

* Commits results to DB only once per mixer to speed up load time.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: cache prefix for Holding Pen

* Adds an appropriate cache key prefix for the cached Holding Pen rows.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: AMD compatible and flightJS

* Refactors all Holding Pen JavaScript to be fully AMD/requirejs
  compatible.

* Rebuilds Holding Pen based on the flightJS framework to render
  the Holding Pen table and details pages, in addition to actions.
  This includes many changes to the static files and the interface
  itself - removing unused and non-working elements of it.

* Adds translation support to the predefined status tags for the tags
  interface in Holding Pen. This changes the bower requirements to use
  INSPIRE-HEP fork of bootstrap-tagsinput to support this functionality.

* NOTE To get the new version of bootstrap-tagsinput delete your
  existing bootstrap-tagsinput vendors and static files and folders and
  re-run `inveniomanage bower -i bower-base.json > bower.json` and
  `bower install` from the overlay.

* Refactors the bundles to accommodate these changes in addition to
  adding missing CSS used by DataTables.

* Improves the default approval action to fade out after an action
  was completed successfully.

* Adds dependency of datatables-tabletools plugin to provide selection
  by replacing the former in-house implementation.

* NOTE this update changes the global settings.js file which means
  that you need to update your version on the overlay in
  case you were required to override it with your own settings.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: deprecated admin area removal

* Removes the deprecated workflows admin area that was not fully
  functional and superseded by Holding Pen.

* Removes unused JavaScript files and templates.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
session: removal of unnecessary Set-Cookie

* Removes unnecessary writes to session for guest user.  (closes #2291)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
oauth2server: addition of translatable strings

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
oauth2server: confidential and public clients

* Adds option to new application form to ask user for client type.
  (addresses #2113)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
communities: featured community addition

* Adds featured community.

Signed-off-by: Adrian Pawel Baran <adrian.pawel.baran@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
workflows: runtime based start_async_workflow

* Reworks the start_async_workflow() task to allow for a runtime
  based evaluation of which workflow to launch instead of being
  determined on application load.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>