Add support for lattices.

Since we started this project, Spire added support for boolean algebras,
heyting algebras, and lattices.

This commit adds type classes for these types.
:+1: We have methods `Semigroup.additive[A]`, for instance, to convert an `AdditiveSemigroup[A]` to a `Semigroup[A]`, so it seems natural to have just have similar methods for the lattice-variants.