fix MapTest

Cherry-picking pull request #343 (1a3af4f)
fix Index[List] and Index[IndexedSeq]

Fixes #350

Cherry-picking 8585cfc
Fix issue where f2 would be evaluated twice in some cases

Cherry-picking pull request #352 (d848e50, 612edc0)
tests for `MinVal` and `MaxVal` semigroups

Contributed in #356 by @oxbowlakes

Cherry-picking 7bca898
Show[java.lang.Throwable]

Cherry-picking 5db73d4
Running a free monad in another monad.

Handy for turning trampolines into futures.

Cherry-picking 9445438