Use global excludes option when walking.

The excludes option only makes sense at the walk level, so needs to be
separate to the child options, but it also must be respected within walk.js
therefore I have passed it as an additional argument into walk/run()

This has come up as we are in the process of migrating from shifter to
grunt-based tools and during the transition we need to ensure that running
shifter will not cause the node_modules directory to be built too.