Add Semigroup instance, change Monoid instance

To make them like http://www.haskell.org/pipermail/libraries/2013-January/019229.html.