First implementation of Triangle Intersection
First implementation of models

Models are now loaded via scenes, are centered, and resized
automatically.
Added Space Partitioning
Fixed Space Partitioning.
Clean up BSP
Clean up Boundaries
Clean up RayTracer
Clean up Sphere
Remove PerlinNoise from Sphere and Triangle

Also minor cleanup to Triangle.
Major cleanup of header files

* Don't use any namespaces
* Forward declarations whenever possible
* Remove duplicate/unused includes
Intersection: Changes for no intersection

Default constructor is false since you would never make an Intersection
without a distance unless it didn't intersect.
Adding axis toggling to BSP building
Minor twekas to BSP

Still broken but makes slightly more sense now.
Move bounding volume intersection to Boundaries
Rejigger BSP intersections

Instead of doing tests on the children, each BSP checks their own
bounds.
Fix AABB intersection

Switched to a new algorithm and it totally works!
Move fractional direction into Ray class

Minor optimization to avoid recomputing the same value multiple times.
Update scenes to use triangles for boxes

Giant spheres don't play nice with bounding volumes.
Merge pull request #4 from marczych/add-models-triangles-and-bsp

Add models, triangles, and Binary Space Partitioning