Add MapGuide untiled map support to ol3.

This adds a new ol.source.MapGuide class that is initialized with an options object that can contain the following values:
 - projection: The projection of the Map Definition in EPSG format
 - url: The mapagent URL
 - useOverlay: Determines whether the GETMAPIMAGE (false) or GETDYNAMICMAPOVERLAYIMAGE (true) will be used for requesting the map image. When using GETMAPIMAGE, you must include a valid MAPDEFINITION parameter in the 'params' option property. When using GETDYNAMICMAPOVERLAYIMAGE, you must include a valid SESSION and MAPNAME parameters in the 'params' option property.
 - metersPerUnit: A required value used for calculating the map scale needed by the image request. This value can be calculated using the MapGuide Web API or obtained through the new CREATERUNTIMEMAP operation in MapGuide Open Source 2.6
 - params: A set of key-value pairs to append to the mapagent request
 - extent: The bounds of the layer

An example is included to demonstrate this new layer source. Like ol2, this example uses the MapGuide Server on data.mapguide.com
Using CONSTANT_CASE for geometry type
Using PascalCase for geometry enum values

This adds a bit more inconsistency to the library, but we didn't have complete consistency before.  Almost all existing string enum values are lowercase (a couple are camelCase and one is dash-separated).  The closure library isn't consistent either (with case for enum properties or values).  I imagine this could be justified in saying someone could blindly use GeoJSON type values in places, but in the end, you'll need to read the docs before guessing right.
This commit serves no purpose other than helping minimize a diff
Marking the geometry type enum as stable
Use standard x, y axis order if we do not know better
Add Insert, Update and Delete writers

This change also adds some type annotations for better type
checking, introduces different write options for writing
transactions and queries, and provides new writeGetFeature and
writeTransaction methods.
Export getParser()

This reduces the API footprint of versioned parsers, because
only the base parser needs to be exported as symbol, and
versioned parsers can be accessed using the getParser() method.
Export the WFS parser and its write methods

For using the WFS parser, users need to be able to write
GetFeature queries and transactions.
No native element on GetFeature queries
Merge pull request #1236 from jumpinjackie/master

MapGuide untiled map support
Tidy up ol.source.MapGuide and add ratio option
Addressing review comments

* Do not write xmlns
* Make @this annotations consistent
* Handle numbers and strings for attribute values
* Fix defaultNamespaceURI scope
Merge pull request #1339 from ahocevar/wfs-transaction

Transaction handling and exports for the WFS parser
Merge pull request #1341 from twpayne/mapguide-clean-ups

Tidy up ol.source.MapGuide and add ratio option
Safeguard against the case where no features are modifiable
Merge pull request #1344 from ahocevar/modify-remove

unable to removeInteration in modify-features example
Set the srs name when writing GetFeature

Also make clear that srsName is only optional for WFS 1.0.0.
Define type for applyWriteOptions call
Merge pull request #1346 from ahocevar/set-srsname

Set the srs name when writing GetFeature