Simplify testing tasks; make tests & linting optional on watch workflow

This will also move a few dependencies from the production dependencies to development dependencies side. However, I think this still should be done, because I think the next step is to move all the production dependencies to the development dependencies, and exclude the gulp build entirely from the production side (e.g. move the build to 'npm prepublish' side; as a result Docker builds etc. would speed up a lot).
What is the advantage of requiring promise only in this block?