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 `app` methods (formerly `ap`) are not consistent with `flatMap`.