Curved Geometry Update

A number of features related to curved geometry have been addressed
including:
1) planar surfaces with curved boundaries are now generated using the
correct offset method
2) curved skylights for roofs can now be generated
3) the skylight method will break up the curved surface using a mesh in
situations where this will look good.
4) if the offset method is in danger of getting stuck in an endless
loop, there is a check that will catch this.