Split Action into LeftAction and RightAction.

Renamed the Action syntax classes accordingly instead of GroupOps, PointOps.
Added PartialAction implementation, with both Option-like and PartialFunction-like semantics.
Added implementation of Semigroupoid, PartialMonoid, Groupoid.
Added syntax for partial operations, with both Option-like and PartialFunction-like semantics.