Add optimized RectangleIntersection functionality

Includes:
 C++ API, with tests
 C-API GEOSClipByRect, with tests

Initial C++ code provided by Mika Heiskanen.
Modified by me to work with arbitrarily ordered polygon ring vertices.

See #699 for background

git-svn-id: http://svn.osgeo.org/geos/trunk@4021 5242fede-7e19-0410-aef8-94bd7d2200fb