update to ScalaTest 2.0
migrate to typelevel discipline
Fix some bugs uncovered by new ScalaCheck/ScalaTest versions.

The bugs cropped up in ULong, Rational, and FixedPoint. Almost all of
them have to do with correctly handling Long overflow/truncation.
It seems like ScalaCheck is being more thorough here than before which
is why we're just seeing these failures.