Groupoids And Semigroups In Geometry