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
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
Add beforechange event type and provide key with change events

If you know ahead of time that you only want to listen for changes for a specific property, the foo:change type events can be useful.  If you want to listen for changes on all properties, the change event becomes more useful if it provides information on what changed.  And the beforechange event allows listeners to access values before they change.
Handle beforechange events for bound properties