Introduce spire.optional package.

This package will contain alternate typeclass implementations, for
situations where users may want to easily override the default
behavior.

This commit includes spire.optional.totalfloat, an object containing
typeclass instances for Eq[Double], Order[Double], Eq[Float], and
Order[Float]. These instances use a total order which places NaN
above PositiveInfinity. This breaks the IEEE convention of having
comparisons involving NaN always return false.
remove unused integral ops