Merge pull request #3 from smichr/geom

misc changes
Fixed issues with the tests
Changed map() to list(map())
Added a test and changed list() to list(set())
return S.Zero and other stylistic changes
modify how perpendicular plane is computed