* Fixed the way we get the signed distance from the polygon's barycenter to planeB in Object::classifyPoly
* Reduced the amount that Point3d::perturb perturbs the point
* Fixed Plane::distTo, which wasn't returning anything (!).
* Not sure how this has evaded me for so long or why it didn't cause more drastic issues
* Did some much needed code cleanup in a few functions, especially Object::classifyPoly

As a result of this patch, tests/mug_bad.csg now works.
I should also mention that I noticed that in tests/mug.csg, there was an extra polygon where the mug handle intersects with the mug.  This patch resolves it as well