Add versioning for GML format

This PR proposes to add versoning for GML format.
It is based on a `gml/base.js` that contains base GML format objects and methods.
Then 2 versions `ol.format.GML.v2` and `ol.format.GML.v3` inherit from base to implement 

- the read for GML 2.1.2
`<gml:coordinates>`
`<gml:outerBoundaryIs>`
`<gml:innerBoundaryIs>`

- the read/write for GML 3.1.1

Also, WFS format has been changed a little to use by default an `ol.format.GML.v3` format to read features from the WFS response. You can change this default behavior by passing a `gmlFormat` option to the `ol.format.WFS` constructor. You can then read a WFS 1.0.0 with GML 2 for example. A test has been added in wfs format tests.
Since this is in the base class, we should take this comment out.
Would people even instantiate ol.format.GMLBase normally?