Make bind, ap, point, map relationships monad/applicative laws

This also removes the Apply-derived Apply and Applicative-derived Applicative for `LazyEitherT` and `EitherT`, and documents that the remaining `ap` methods are not consistent with `flatMap`.