installation: extra requirements autodiscovery

* Allows user to install Invenio with optional dependencies using
  `extras_requires` option in `setup.py`.
  NOTE: you can use `pip install -e .[dev]`

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
travis: package install using pip

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Flask-Testing: install 0.4.1 from GitHub
requirements: move optional PIL, qrcode and python-openid
travis: do not use editable mode
general: modal tweaks moved to invenio.js

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