Bump version to 0.4.0-M1
Separate standard Scala type class instances out.

This moves most of the type class instances for Scala's standard types
outside of the type class companion objects. They now reside in Scalaz
style objects (eg. spire.algebra.std.int._). However, spire.implicits
currently imports all of the instances as well, which isn't idea.
Move Rational instances to companion object.

This moves Rational's type class instances to Rational's companion
object, rather than on type class' companion object. This makes for much
better implicit resolution, since inheritance is handled in a sane way.

This will be done for all our number types, but this is the first
proof-of-concept.
Move more instances out to companion objects.
Move type instances for unsigned types to math.
Move Rig[Interval] to math. Clean-up imports.

The clean-up is just to get imports from spire.math a little more
explicit. Essentially, they boil down to Number, ConvertableFrom, and
ConvertableTo.
Add fromDouble to Field. Small ops reorg.

This adds fromDouble to field. There is a default implementation that
uses Field ops, though it should be overidden.

This also moves the ops classes out to their own file, to minimize other
files' interactions with macros.
Add fromDouble method to some Field instances.
Move std instances to own sub-package.

This moves the standard type class instances to their own subpackage,
spire.std. This also adds a new importable object, spire.ops, that will
just import the operator implicits. Also, spire.implicits._ will not
only import the operator implicits, but also all of the stnadard
instances.
Fix up remaining compile/test issues in refactor.
Merge remote-tracking branch 'tixxit/topic/implicit-reorg' into 2.10.0