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.
For consistency use `ol.format.GML3.FLAT_LINEAR_RINGS_PARSERS_` here.