Improve tests for spire.math.Natural.

This commit adds ScalaCheck tests for spire.math.Natural. It also fixes
some bugs that these tests caught.
Upgrade to 2.10.1 and downgrade to SBT 0.12.0.

This commit updates Spire to use the newest Scala release.

Unfortunately, the combination of Scala 2.10.1 and SBT 0.12.2/3
seems to force full recompilation on almost every change. Downgrading
to SBT 0.12.0 seems to have fixed it.

The 2.10.1 pattern matcher is pickier than 2.10.0 and some cosmetic
changes were required to suppress warnings (in particular, some classes
defined in objects needed to be referenced as Object.Class to appease
the pattern matcher). There were also some deprecations in macros
which had to be updated.

(For now the branch will continue to be called 2.10.0 but obviously
it's really more of a 2.10.x branch at this point.)
publish 0.4.0
bump to 0.5.0-SNAPSHOT
Fix some serious bugs in Rational and gcd.

This adds a bunch more ScalaCheck tests that caught some problems.
There was an issue involving gcd and Long.MaxValue, and a few other
sign-handling problems in Rational. These would not produce incorrect
results per se, but would violate Rational's assumption (only the
numerator should be negative) which messes up equality.
re-release 0.4.0
Use parenthesis-less methods Auto macros.
Fix bug in random forest example.
bump version to 0.5.0-M1
Merge remote-tracking branch 'tixxit/topic/auto-parenless' into 2.10.0
add some ScalaCheck tests for Complex[Double]
update README for 0.4.0
add fibonacci benchmarks
A la carte syntax for Spire.

This is a major refactor of Spire's syntax/operator support. It now
follows a Scalaz style importable syntax per typeclass.

Note that a blanket import of spire.implicits._ will still give you all
the syntax as before.
Fix benchmark project after syntax refactor
Fix incorrect package declaration in Ops.
Add benchmark to main project aggregate.
Make some traits private that needn't be public.
Make more traits private where possible.
More minor refactorings/clean-up.

Move Literals out to spire.syntax. Make some more objects/traits
private[math] where possible.