[GEO] GIS envelope validation

ShapeBuilder expected coordinates for Envelope types in strict Top-Left, Bottom-Right order. Given that GeoJSON does not enforce coordinate order (as seen in #8672) clients could specify envelope bounds in any order and be compliant with the GeoJSON spec but not the ES ShapeBuilder logic. This change loosens the ShapeBuilder requirements on envelope coordinate order, reordering where necessary.

closes #2544
closes #9067
closes #9079
closes #9080
That's a good point.  Technically 'validate' is semantically incorrect since coordinate order/size does not make an invalid GeoJSON.  It could have been named verifyEnvelopeNode.  Nevertheless, the more I think about it, the more I like the idea of removing the method all together and just having all the logic in parseEnvelope.  This isn't a big enough change with reusable logic to warrant separate methods anyway.