Added more semigroups and monoids

 * Added listSemigroup
 * Added streamSemigrouo
 * Added listMonoid
 * Added streamMonoid