Add a parser for reading and writing KML.

This adds ol.parser.ogc.KML which can be used to read and write KML documents.
NetworkLinks are retrieved asynchronously.
Current caveats of the implementation are:

* LabelStyle not yet implemented. Missing support in renderers.
* When using shared structures the parser needs to be configured with
  dimension 2.
* We need a better way to disable fill, currently we use opacity as a
  workaround.
* We cannot really roundtrip documents, since some of the info is not
  preserved in the ol structures. But we can write out most of the important
  info.
move examples/kml to examples/data/kml
use goog.global, restructure to have ol.parser.KML instead of ol.parser.ogc.KML
Clean up ol.renderer.dom.Map.createLayerRenderer
Clean up ol.renderer.webgl.Map.createLayerRenderer
Make ol.renderer.Map.map property private
Make renderer layer management private
Tighten up permission on layer renderers
Sort jsdoc comments alphabetically
Merge pull request #517 from bartvde/kmlfresh3

Add a parser for reading and writing KML (r=@tschaub,@fredj,@twpayne)
Use afterLoadXml in WMSCapabilities parser tests

The WMS Capabilities parser tests were created before the afterLoadXml
utility functions were created. This is now corrected.
Merge pull request #535 from twpayne/renderer-clean-ups

Renderer clean-ups
Merge pull request #539 from bartvde/wmscapstests

Use afterLoadXml in WMSCapabilities parser tests (r=@twpayne)
Add comments to ol.renderer.canvas.TileLayer
Merge pull request #540 from elemoine/canvas-comments

Add comments to ol.renderer.canvas.TileLayer
Fix bug in canvas.TileLayer comments
Merge pull request #541 from elemoine/canvas-comments

Fix bug in canvas.TileLayer comments
Create and remove layer renderers in renderFrame

Previously, the map renderer would listen for layers being added and
removed from the layers collection, and would create and remove layer
renderers in response to these events.

With this change, layer renderers are only created or removed when
renderFrame is called, which leads to somewhat simpler code.

We still need to listen to changes to the layers collection, but now
these only trigger a new render.

This new approach also has an advantage when layers change order.
Swapping the order of two layers involves removing one and re-inserting
it elsewhere.  With the old approach, this would cause the deletion and
re-creation of the layer renderer.  With this new approach, the layer
renderer is preserved.
container-fluid is a class, not an id
Merge pull request #543 from ahocevar/jsdoc-typo

container-fluid is a class, not an id