Move ol defines from browserfeature.js to ol.js
Add missing requires

Without explicit requires, it is possible that a build would exclude ol.js.
Defines in ol namespace defined in ol.js
Defines in a namespace that can be required

For consistency, all defines are in the ol namespace.  If they are to be moved to another namespace, they need to be requireable.
Merge pull request #2030 from tschaub/defines

Move defines to ol namespace.
Modules used in postinstall are dependencies

Since async and htmlparser2 are used by the postinstall task, they need to be listed as dependencies.  These will get installed when ol3 is a dependency of another project.
Merge pull request #2031 from tschaub/dependencies

Move modules used in post-install task to dependencies.
Remove unneeded goog.require
Merge pull request #2032 from fredj/require

Remove unneeded goog.require
Only use the inheritdoc plugin once
Simplify fires annotations
Recursively document subparams and span table columns
Show inherited observable properties
Add missing namespace annotation
Avoid dead links

Because we remove doclets that are not part of the API, there
are cases where linkto cannot resolve a longname to a doclet.
To avoid this, we only create a link when we find the doclet
for a given longname in the database.
Mark undocumented doclets as undocumented

To give other plugins access to doclets that are not part of
the API, we have to mark them undocumented instead of removing
them. They will be removed by JSDoc before publishing anyway.
Fix quotes
Stop adding ObjectEvent links manually

Now that the links are removed from event annotations, we no
longer need to do this, because inheritance works.
Simplify the way we annotate observable properties

We no longer add observable annotations to the constructor.
Instead, we just mark getters (and for read/write properties
also setters) with an observable annotation.