Reformatted Project Structure and Rewrote Makefile

The entire project has been restructured now to separate source code,
testing code, compiled code, and output programs. I reworked the
Makefile so now both the linearSim and parallelSim are compiling
correctly with dependency graphs keeping everythin up to date.

I made it very easy to add new things into the Makefile, so adding new
programs (testing? demos?) should be easy. I have tested this code out
on my machine using nvcc 5.5