Add log(base) convenience methods.

This commit adds .log(base) syntax for Trig[A], and also adds a
spire.math.log(x, base) method. These just use the identify:

  log(x, base) = log(x) / log(base)

But it's nice not to have to remember how that works when you want
to know how many bits of complexity something has. Now you can just
say:

  (...).log(2)
Add conversions to/from Algebraic and Real.

Since these types are now a big part of Spire's numeric tower
it makes sense to support them directly in ConvertableTo[A]
and ConvertableFrom[A].