[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
This statement and the message below don't seem to correlate. Should we not also check if `coordinates.children.size() == 0` here? Also from the linked spec it looks like 0 points would not be valid anyway?