More intelligent forcing of polygon winding order.

Previously, if a polygon was incorrectly specified with the order of
interior and exterior rings swapped, TopoJSON would attempt to maintain
the existing ordering of rings, and reverse their winding orders.

However, this doesn't resolve the issue, since it creates an exterior
ring which is smaller than the interior ring(s).  Since the interior
rings are counter-clockwise and aren’t contained within the exterior,
they end up subtracting from the whole sphere rather than from the
exterior ring.

A better solution is to use the largest ring as the exterior, and then
ensure that the winding orders are all as expected assuming the rings
are smaller than a hemisphere.
Fix typo.
Add clockwise tests.
Fix failing test.

The failing test contained two polygons, one with a CW and the other
with an equivalent but CCW ring, and each with a zero-area ring.  The
rings for both polygons are now automatically reordered so that the
zero-area rings are treated as holes.  The non-zero-area rings are
forced to be clockwise, since they are both exterior rings.  Finally,
the zero-area rings are removed by filter, resulting in both polygons
having the same clockwise ring.
Add clockwise tests for cartesian coordinates.
Merge branch 'clockwise'