KML write support

This PR adds "write" support to the KML format. You can see it in action at http://erilem.net/ol3/kmlwrite/examples/kml.html.

Current limitations:

* The KML format's writeFeatures function does not transform the features' geometries. This means that the application developer needs to do the transform (to WGS84) by himself, as done in the kml example. This is consistent with the GeoJSON and GPX formats, which do not transform the data either. This problem should therefore be addressed separately, with an API that is consistent across feature formats.

* The KML format's writeFeatures function does not serialize feature properties that are not KML properties. For example a feature property named "description" will be serialized, while a property named "arbitraryname" won't. [ExtendedData](https://developers.google.com/kml/documentation/kmlreference?hl=fr#extendeddata) can be used in the future to address that limitation.

The code was written by @oterral and myself.
so if there will only be one URI, this can all be simplified without using ol.xml.makeStructureNS?