scope the node path check

Since the anvil service which Travis uses is built using node and
anvil leaks its path into the build enviroment, node is always on the
path, so `node_js_installed?` will always return true. This executes the
direct binary skipping the PATH completely.
add documentation for node_js_installed?