Added Coffeelint to build process

CoffeeLint (http://www.coffeelint.org/) enforces stylistic consistency
across a code base by checking against a set of rules, leading to
cleaner and more consistent code.
Changed Docco default styling + fonts
Extended Transform.Multiply function to take any amount of Transforms (as an Array) and compute their product.

Changes to CS + Docs
Added QUnit test cases.
Refactoring of master.coffee code + docs + tests for Sprint 5. Closes #3

CODE: Error message clarifications.
DOCS: Use URL references instead of inline + small formatting/wording
changes.
TESTS: Tests written in more descriptive style.

All code passes CoffeeLint with 0 Errors and 0 Warnings.
Should have been included with last commit - need to remember to run 'cake docs' before committing.
Updated syntax highlighting colours in Docco
Refactoring of slave.coffee code + docs for Sprint 5. Closes #4

CODE: Broke the URL render ID extraction down into 3 steps so it's
easier to see what's going on
DOCS: General rewording/reformatting + extracting URLs to maintain
short line lengths.

All code passes CoffeeLint with 0 Errors and 0 Warnings
Added correctly converted JSON String for testing XML to JSON conversion.
Found better way to keep lines shorter, so removed unnecessary use of block quotes.
Refactoring of camera.coffee code + docs + added tests for Sprint 5. Closes #5

CODE: Fixed stylistic problems, added value/type checking on
constructors
DOCS: Fixed stylistic problems, reworded relevant parts, added
additional constructor info.
TEST: Added tests for Camera, ProjectiveCamera, OrthographicCamera and
PerspectiveCamera classes.

All code passes CoffeeLint with few Errors. All Errors are from the
length of Error messages, which will be fixed when I create a better
Error type system.
Refactoring of animatedTransform.coffee code + docs + existing tests for Sprint 5. Closes #7

Discovered missing tests for Quaternion.SphericalLinearInterpolation
and entire AnimatedTransform class, created new issues.
Small formatting changes. Belongs with issue #3
Formatting fix on triangle.coffee. (Issue #17)
Fomatting fix on server/index.coffee. (Issue #21)
Small CSS changes for overall documentation styling.
Fix problem with require by joining all Raytracer files that need to know about one another. (Issue #22)

The problem was occurring with circular requires (duh). All files in
the Raytracer package are joined together so that all of their classes
have knowledge of one another. Also means that code that goes to the
client only requires one HTTP request.
Fix underscore require (Issue #22)
Bug caused by removing necessary bracked. (Closes #24)

if Math.abs minv[j][k] >= big compiles to if Math.abs(minv[j][k] >=
big) instead of if Math.abs(minv[j][k]) >= big which compiles correctly
to if (Math.abs(minv[j][k]) >= big)
Instance_geometry elements are being extracted with their transformation data. From these instance_geometry elements mesh data including Positions and Normals are being extracted. (Issue #25)

TODO:

Sort out the indices data for passing into the TriangleMesh constructor.
Work out what is happening with Z-UP (Better sooner than later -
probably separate issue)
How to best convert 4+-gons into Triangles.