ci: make sure npm is installed in tests

Also bump node version to 10.
17 jobs for master in 4 minutes and 6 seconds (queued for 2 seconds)
latest
Name Stage Failure
failed
py3.6-pypi-postgres Test
Visit https://pycqa.github.io/isort/ for complete information about how to use isort.

Error: arguments passed in without any paths or content.
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-pypi-mysql Test
Visit https://pycqa.github.io/isort/ for complete information about how to use isort.

Error: arguments passed in without any paths or content.
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py2.7-pypi-postgres Test
  Downloading Flask_WTF-0.15.0-py2.py3-none-any.whl (13 kB)
ERROR: Could not find a version that satisfies the requirement invenio-base>=1.2.11 (from invenio-accounts>=1.0.0->-r .ci-pypi-requirements.txt (line 7)) (from versions: 0.1.0, 0.2.0, 0.2.1, 0.3.0, 0.3.1, 1.0.0a1, 1.0.0a2, 1.0.0a3, 1.0.0a4, 1.0.0a5, 1.0.0a6, 1.0.0a7, 1.0.0a8, 1.0.0a9, 1.0.0a10, 1.0.0a11, 1.0.0a12, 1.0.0a13, 1.0.0a14, 1.0.0a15, 1.0.0a16, 1.0.0b1, 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5)
ERROR: No matching distribution found for invenio-base>=1.2.11 (from invenio-accounts>=1.0.0->-r .ci-pypi-requirements.txt (line 7))
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py2.7-min-postgres Test
  Downloading functools32-3.2.3-2.tar.gz (31 kB)
ERROR: Could not find a version that satisfies the requirement importlib-resources>=4.0 (from invenio-jsonschemas>=1.0.0a3->invenio-deposit==1.0.0a9->-r .ci-min-requirements.txt (line 11)) (from versions: 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 1.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0, 2.0.0, 2.0.1, 3.0.0, 3.1.0, 3.1.1, 3.2.0, 3.2.1, 3.3.0, 3.3.1)
ERROR: No matching distribution found for importlib-resources>=4.0 (from invenio-jsonschemas>=1.0.0a3->invenio-deposit==1.0.0a9->-r .ci-min-requirements.txt (line 11))
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-pypi-sqlite Test
Visit https://pycqa.github.io/isort/ for complete information about how to use isort.

Error: arguments passed in without any paths or content.
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-mysql Test
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-sqlite Test
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
py3.6-min-postgres Test
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
Running after_script
Running after script...
$ mv .coverage .coverage.${CI_JOB_ID}
mv: cannot stat '.coverage': No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1