Always regenerate info using all sources if any have changed

Because we don't know if a new or modified file includes changes to the class hierarchy, we regenerate info for all sources any time any one has changed.  An alternative would be to generate info first for the new or modified file and then (potentially) regenerate info for more source files in the class hierarchy, but this makes the generate-info.js task far more complicated.
Move developer guide from wiki to CONTRIBUTING.md
Merge pull request #2369 from probins/contribute

Move developer guide from wiki to CONTRIBUTING.md.
Merge pull request #2356 from tschaub/regenerate-info

Always regenerate info using all sources if any have changed.
Remove duplication from contributing.md
Merge pull request #2374 from probins/patch-1

Remove duplication from contributing.md
Add packages required to build the library to dependencies

This allows other packages to depend on the ol3 package and get the build tools (devDependencies are not installed when they are transitive dependencies).  The justification here is that the ol3 package becomes useful to other packages when you are able to run the build.js task.  For this task to run all of its dependencies must be available.
For jsdoc to find plugins, we need to set the cwd

This allows the `build.js` (and the exports from `generate-info.js`) to be run with a different working directory.
Merge pull request #2376 from tschaub/transitive

Add packages required by the build task to dependencies.