`Monoid[Option[A]@@{Min | Max}]` should ignore `zero`(`None`).

Some tests(monoid laws and test for none) were added.
use type aliases in OptionTest
`Monoid[Maybe[A]@@{Min | Max}]` should ignore `zero`(`None`).

Some tests(monoid laws and test for empty) were added.
use type aliases in MaybeTest
Merge pull request #778 from everpeace/fix/min_max_monoids

Option/Maybe monoids tagged by Min/Max should ignore their zeros.