Cache npm, bower and maven caches globally

This requires that the directory /global_cache is mounted into the build container.
If it is not, they are cached only in the project-specific cache directory.
Allow specifying subdirectory for node.js stuff

This means that in the .env file a directory can be defined like
 export NPM_DIR=backend
and then package.json, .npmrc and node_modules directories can be
placed in that directory (in this example, "backend" directory).