Here I'm adding a dependency on Google S2 Geometry (121KB) so that we can use prefixTree="s2" on a spatial field type that is using Geo3D. Lucene spatial-extras already has this dependency, albeit it is optional. I enhanced tests to exercise it.
Additionally, I document here a strictness Geo3D has in which the polygon points must be provided in a particular order or else the interpretation of the shape is inverted. This so-called "right hand rule" order is somewhat standard but some libs (like JTS) don't care.