Add InvariantFunctor (from Scalaz 6)
Adds traverseM to traverseOps

A utility method for the very common F[A].traverse(f: A => G[F[B]]).map(Monad[F].join) : G[F[B]] pattern.
Trivial: Fixes the scala warning:
  'This catches all Throwables. If this is really intended, use `case e : Throwable` to clear this warning.'

by adding 'case e: Throwable' to catch clauses that are meant to catch all Throwables and removing one instance
where the exception is caught and thrown, which is the equivelant to leaving the statement out.
tuned
Merge pull request #368
Merge pull request #375 from OleTraveler/thowable-warning

Trivial: Fixes the scala warning:
Contravariant and Functor extend InvariantFunctor

* implement `xmap` in Functor and Contravariant
* change and run gen-type-class
* update package docs
tuned law hierarchy
Merge pull request #351