Add InvariantFunctor (from Scalaz 6)
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.
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
get rid of unused type parameter on Foldable#sequence_
Make glorified Foldable `identity`s into actual `identity`s.