Get rid of stability annotations and document stability with api

This change adds a stability value to the api annotation, with
'experimental' as default value.

enum, typedef and event annotations are never exportable, but
api annotations are needed there to make them appear in the
docs.

Nested typedefs are no longer inlined recursively, because the
resulting tables get too wide with the current template.
Allow configuration of JVM arguments in build
Accept a path for exports file
Add list of provides to symbol metadata
Include goog.require calls in exports file
Making ol.proj.Projection subclasses exportable

Because ol.proj.EPSG4326 et al. extend ol.proj.Projection which has exportable methods, these constructors need to be exportable as well (e.g. so ol.proj.EPSG4326.prototype is defined in exports.js when calling goog.exportProperty on getCode etc.).  If we really don't want these to be exportable, they should be removed or made private (and named like ol.proj.EPSG4326_) for internal use only.
No need for requireall.js when including exports.js
No more generated internal source

With this change, the only two remaining generated scripts are build/exports.js and build/test/requireall.js.  Both are only required by Plovr.  With the Node based build task, a temporary exports.js file is created.  The Node based server can be used to run the tests without build/test/requireall.js.
Rename EXTERNAL_SRC to EXPORTS

The build/exports.js file passes gjslint and jshint, so the separate linting task is not needed.