Eliminate seperate `Functor` and `Monad` for `Callable`

[none]
Fixed Callable changes

[none]
(First|Last|Min|Max)Val and Semigroups

Addresses issue #248.
Improve `Callable` tests

[none]
Merge pull request #260 from pthariensflame/topic/first-and-last

Add `FirstVal`, `LastVal`, `MinVal`, and `MaxVal` to `Tags`