Add basic spire.math.Info[A] implementation.

This commit adds an Info type class that gives us some basic
information about a scalar type.

Currently this type class doesn't support exotic types like
complex, interval, jet, polynomial, etc. It's really just
about trying to handle range/precision issues in a general way.
Rename spire.math.Info to spire.math.NumberTag.
Merge pull request #332 from non/topic/scalar-info

Add basic spire.math.Info[A] implementation.