Added 'Data.Foldable.Constrained' module.
Defined long-missing methods '(***)' and '(&&&)' for Kleisli arrows.
Add 'inCategoryOf' utility function.
Made 'UnitType' a fixed '*' type instead of a constraint.

As there doesn't seem much reason to have different unit types inside a given category, this is just reasonable, and it allows a few necessary modifications of the other classes.
Moved 'pure' from 'Monoidal' to 'Applicative'.

The former now has 'pureUnit', which is less useful on its own but is more friendly to non-endofuctors.
Required unit objects to be monoids right in the Curry class that introduces them.
Foldable and Traversable actually to work with non-Hask categories.

The constraints of 'mapM_' are rather crazy right now, but seem to work...