feat(VinylNodeCollection): change default behavior of node

* when creating a new Node it will be stable by default
* throw error when RequireState#addNodeIfNeeded called with non-Buffer file
* this fixed #13
Merge pull request #15 from tomchentw/emit-error-to-stream-when-require-failed

feat(VinylNodeCollection): change default behavior of node
feat(VinylNodeCollection): only output files that just changed
* same rule applied to manifest.json files
* it can reduce the file system call to minimum
* this fixes #16