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.
there is an `Ord[A]` here if you like `x <= y == x == 
Should we add:
```scala
def ordering(implicit eq: Eq[A]): Order[A] = new Order[A] {
  override def compare(a: A, b: B) =
    if (eq.eqv(b, join(a, b))) {
      if(eq.eqv(a, b)) 0 else -1
    } else 1 
}
```