Move plugins one level up so they can be used by other configurations
Add JSDoc configuration to generate ol3 externs
Add generate-externs task to create build/ol-externs.js
Document the generate-externs.js task
Build externs file from info.json

This change adds all information that is needed to generate the externs
file to build/info.json, so tasks/generate-externs.js no longer needs
to spawn JSDoc.
Avoid duplicate constructors
Use 'Function' type instead of 'function'
Fix function type so the function is optional, not the return value
Only add object type definition when there is no constructor
Extract types in a separate function
Add data for typedefs to info.json
Include typedefs in externs
Include externs/olx.js in the info generation
Test whether externs/olx.js is newer than build/info.json
Include typedefs and types from olx.js
Add typedefs for externs/olx.js contents
Fix types in olx.js
Allow to provide externs for inclusion in info.json
Do not process file type doclets
Build types only for olx.* symbols from externs