Beefed up sphere::extendBy(sphere) but doesn't look wrong like I expected.  Added unit tests to verify assumptions, etc.