nodePackages: Enable source patching, patch shebangs, patch versions 

This enables patching of node packages and adds patch for shebangs and patch for versions. This pull request replaces https://github.com/NixOS/nixpkgs/pull/4850/files
What about using postPatch hook instead? Otherwise you lose the ability to easily use `patches`.