Stable branch with testcases

Here's are the changes Peter and I made to ProtoInterface and ProtoGeometry to align it with all the latest geometry features in LibG, and align it with standard Rhino features.