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.
I'm not sure if we need this currently. Since WFS is only WFS 1.1, and it is kind of implicitly tied to GML 3. Unless you can think of a good use case here, I'd leave this out until the WFS format gets versioned?