ast: Unnegated Polygons should always be bounded

The parent Region class assumes that unnegated regions are bounded. But
the sense of a Polygon is determined not just by the Negated attribute,
but also by the order in which the vertices are supplied. So change the
Polygon constructor so that, if the order of the supplied vertices
indicate an unbounded polygon is required (i.e. a polygon-shaped hole),
then reverse the vertices and set the Negated flag.