Improve the situation with unicode operators, lattices, etc.

This change adds ops support for many of the unicode operators.
It also moves things around a bit (e.g. moving unicode operators
into Interval) and adds some basic instances of lattices.

Which lattice instances should we provide by default?

If we Order[A] and EuclideanRing[A], there are two different
Lattice[A] implementations: one based on min/max and one based
on gcd/lcm. Spire does not guarantee type class coherence for
exactly these reasons, but we should endeavor to keep things as
sensible as possible.