Added Yoneda and Coyoneda

Backporting 9636716, e2cb57b and aad22ee
Kan extensions

Cherry-picking c5d289e and 5d88930
use `lazy val` instead of `val` in lanApplicative#ap

Cherry-picking 88e0698