Added macro to prevent IndexOutOfBounds exception, added single value byte unpacker method and associated tests.
Get intToByte and longToByte working properly.

This commit builds on the work by flaviut to implement compile-time
checks for intToByte and longToByte. This commit does the following:

  1. Fix minor arithmetic error
  2. Compute offsets at compile-time when possible
  3. Perform run-time checks when necessary
disable unreliable quaternion check
improve error handling
extra seq ops
Replace most sys.error messages with specific Exceptions.
Commutative clean-up.

Add commutative semigroup, plus some missing additive/multiplicative
traits. Also, moved sumn and friends onto the type class itself,
rather than keeping them on companion objects.
added some information about interval and polynomials to the guide
some updates to the user guide
fix some egregious typos in the laws
Document NRoot and Trig, some other clean up.
Fix bug in Rational division.

This should fix the transient errors we've been seeing in the
polynomial tests, and other tests using rational numbers.
Fix bug in quaternion implementation.
added compose method to Polynomial
include scala check test for compose
fix some bugs with SafeLong and Rational
First pass at computable real numbers.

This started off as a port from Haskell's CReal type. However, at
this point the projects have diverged a little bit (primarily due
to different rounding behaviors, different types, and some other
details).
add min/max to Rational
possible optimization for exact values
Fix bug in Seq orderings.

We were doing something silly for gt/lt and friends which didn't make
sense. This just uses the default implementations which uses compare,
which is correct.