nodePackages: fix builder

- reuse unpack and patch phase
- patch shebangs of source code
- properly patch depdency versions (thanks @svanderburg)
- add patching for github version names
- add some inline docs
- fix recursive depdencies runtime handling by copying files instead of
  symlinking if package has recursive dependencies
Merge pull request #4922 from offlinehacker/node_shebangs

nodePackages: Enable source patching, patch shebangs, patch versions, fix recursive dependencies runtime