docs: git workflow additions and corrections

* Adds explicit requirement for empty lines between commit message body list
items.

* Changes headline length requirement to strict 50 characters.

* Breaks long lines.

* Adds note on using vim as commit message editor.

* Adds a more complete commit message example.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
results: fix for not visible variable "new_args"

Reviewed-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
comments: reviews_base.html template

* Moves reviews.html to reviews_base.html. Note that this commit is broken.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
comments: reviews.html template

* Re-adds reviews.html template extending from reviews_base.html. Fixes broken
parent move commit.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
previews: move to previewer

* Renames the previews module to previewer. Note that this commit is broken.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
previewer: post-move fixes

* Fixes issues generated by module renaming.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
previewer: refactoring

* Changes preview view function arguments, passes request arguments.

* Sends only file reference from view to plugins.

* Fixes PEP8.

* Adds previewer preference order, settable via CFG_PREVIEW_PREFERENCE, which
is a dictionary such as {'.pdf' : ['pdftk', 'gview']}, specifying that 'pdftk'
it the first choice for PDFs.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
utils: unicode fix

* Accepts unicode as well as strings for escape_shell_arg().

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
static: modal binding element filter addition

* Adds an optional jQuery filter parameter to the modal binding function; this
is useful, for example, when binding after an AJAX request for skipping already
bound elements.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
requirements: pymongo addition

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
utils: which function addition

* Adds a which function, similar to GNU which. For CPython 3.3+, this is already
included in shutil.py. For older versions it was backported.

* Fixes configuration variables that point to executable paths to use which.

Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
base: sticky footer fix

* Fixes sticky page footer by re-adding CSS code removed from page_base.html.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
config: pdfopt workaround

* Adds a workaround for missing pdfopt in Ghostscript 9.0.7+, as suggested at:
http://invenio-software.org/ticket/1560
See also: http://invenio-software.org/ticket/1561

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
travis: enabling excluded packages for test

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix for long language list

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
demosite: fix default value of package argument

* Allows installations that don't use the invenio_demosite.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
jsonalchemy: exception messages improvements

* Passes detailed parsing error message

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
deposit: missing super() call in a template

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
records: base variant of base.html

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
utils: HTML ID washer

* Add utility for cleaning strings such that they can be used as HTML IDs,
without generating, for example, jQuery issues. Such strings must start with
a lowercase letter and use only alpha-numeric characters. Unit tests included.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>