Set is not a Functor

This commit removes the `Functor` instance for `Set` (which implies removal of `MonadPlus`, `Traversable`, ... instances).

I am not actually sure whether `Set` is also a reasonable `Foldable`, since it doesn't even have a sensible order. In Haskell, only `Data.Set.Set` (corresponds to `immutable.TreeSet`) is a `Foldable`. Maybe we should do the same thing.