Merge pull request #71 from cmr/master

Lots of docs.
Clean up numeric traits
Merge pull request #72 from bjz/numeric-traits

Clean up numeric traits
Fix matrix operator overloads

Closes #70
Add matrix operator tests
Merge pull request #74 from bjz/issue-70

Fix matrix operator overloads
Simplify type signatures and make function implementations more strait-forward

This results in more code duplication, but the resulting type signatures are much simpler and the implementations are far easier to understand. It should be easier for llvm to optimise things too, seeing as closures are not used.
Merge pull request #77 from bjz/simplify-array

Simplify type signatures and make function implementations more strait-forward
Made 'array' module public
Updated to latest Rust: Added 'extern crate debug;'
Merge pull request #79 from ozkriff/master

Made 'array' module public
Removed 'extern crate debug', added fmt::Show for Angle
Merge pull request #80 from ozkriff/master

Removed 'extern crate debug', added fmt::Show for Angle
Updated to latest Rust: PartialEq, PartialOrd
Merge pull request #84 from ozkriff/master

Updated to latest Rust: PartialEq, PartialOrd
Added matrix that inverted incorrectly as part of #83.
Fix inverse matrix4, base it on Cramer's rule.
Merge pull request #85 from csherratt/fix_matrix

Fix inverse matrix4
Fix transmute build failure

Closes #87
Merge pull request #88 from bjz/transmute-error

Fix transmute build failure