[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
I think the if and else if should be swapped here as, if there are no children, it looks like we would throw an exception. Again, should a LinearRing with no points be valid?