[GEO] Fix for ArithmeticException[/ by zero] when parsing a polygon

While this commit is primariy a fix for issue/8433 it adds more rigor to ShapeBuilder for parsing against the GeoJSON specification. Specifically, this adds LinearRing and LineString validity checks as defined in http://geojson.org/geojson-spec.html to ensure valid polygons are specified. The benefit of this fix is to provide a gate check at parse time to avoid any further processing if an invalid GeoJSON is provided.  More parse checks like these will be necessary going forward to ensure full compliance with the GeoJSON specification.

Closes #8433
Could possibly use `assertThat(e, org.hamcrest.Matchers.isA(ElasticsearchParseException));` here instead but I don't have a strong opinion about this either way.