Added combineOption, combine, combinen to Semigroup/Monoid/Group.
Added sumOption, sum, sumn to their additive variants.
Added prodOption, prod, prodn to their multiplicative variants.
Merge branch 'master' into topic/monoid-combine
Merge pull request #322 from denisrosset/topic/lattice-laws

Laws for lattices, including a bug fix for the definition of bounded semi-lattices
Merge pull request #316 from denisrosset/topic/monoid-combine

Consistent naming for combine/sum/prod.
Laws for PartialOrder and Order.
Laws for lattices including a partial order.

Will be used in another library for e.g. the lattice of subgroups defined by group intersection (meet)/union (join) , and the partial order "is subgroup of".
Laws for bounded (semi)lattices and partial order.
Added law for Monoid.isId.
Precised law structure for semigroup/monoid/group action.
Added a law for groups with a left and right action.
New laws for lattices bounded below/above.
Merge branch 'topic/order-laws'