Added documentation to "Control.Monad.Lift.Unsafe" module.

Also significantly improved the documentation of "Control.Monad.Lift".

Removed the stupid Functor constraint on LiftState and LayerState (which broke "Control.Monad.Lift.Unsafe"). It turned out not to be necessary at all.

Discovered laws for 'extract'/'extract'' which precisely capture their intended behaviour. They're defined in terms of the new 'result'/'result'' operations.