Clean up code and address review comments.

This commit does a number of small things:

 1. Remove commented line from build.sbt
 2. Replace generic use of == with Eq.eqv
 3. Add additional LawTest cases for String, Set, Map
 4. Improve time complexity of monoid for List, String
 5. Add Eq and Rng instances for Map
 6. Fix possible 0/0 bug in Rat
 7. Upgrade SetMonoid to SetSemiring