Merge pull request #8 from BU-ECE-504-S14/master

Merging from master
Fixed some bugs in reflection/refraction

reflection/refraction almost done. need to test some things before
completion.
Merge branch 'production' into David
minor changes to MeshPreviewScene inorder to render scene
Changed box.obj model for sample mesh render
reorganized

split reflection/refraction into two functions. Fixed recursion.
Added basic multithreading, antialiasing

Also added copy constructors to many object types.

Changed 'light' to interface, so that we can have SphereLights that are
both Spheres and Lights, and are intersectable.
Moved geometry to new package, added bounding boxes
Moved geometry classes
Moved gitignore because GitHub for Mac is silly bad dumb face
Almost finished updating bounding box class
Finished basic BBox implementation (there may be bugs)
Began building Accelerators

Octrees, Octnodes, Octleaves partially finished. No debugging yet.
Basic Octree implementation finished.

No Debugging.
May need more methods.
Cannot remove objects or insert objects after initialization.
Added Camera Functionality

New functionality:
1 Camera does not require orthogonal up vector for initialization
2 Camera can now be reoriented after initialization
3 Camera can now be repositioned after initialization (does not change
orientation).

Not thoroughly tested.
Minor Changes to Camera Interface

Set position, transformationMatrix to private
added getters for position and transformation matrix

changed name of setter for position to setPosition.

Updated 1 spot that used interface. Sorry for changing the interface
but I believe it was necessary to ensure proper use of the class.
Fixed some bugs attempting to remove java3d lib

1) function appears to work with any up vector sent into it.

2) I have not yet been able to completely remove java3d library :(. But
I will keep trying.

3) may still have bugs not thoroughly tested.
Minor update.
Fixed reflection and refraction, multithreading is broken
minor code changes