Another attempt to improve the plight of spire.math.Number.

This commit adds a ton of type class instances for Number. It also
adds some implicit operators to coerce other types into Numbers
when combined with them. Only time will tell if this is the right
thing to do, but without this working with Number will probably be
really annoying.

All of the following should work:

  import spire.math._
  import spire.implicits._

  Trig[Number].sin(Number(2.3))
  BigDecimal(87) + Number(76)
  SafeLong(123) + Number(19) + 123.123124
  (Number(3) :: Number(1) :: Number(2) :: Nil).qsorted