Updated Makefile and Added Testing Support

I made lots of changes to the Makefile, completely redoing the
dependency graph generation in the process, in order to get the testing
up and running. I believe I have it working, and the only issue we may
have is different install directories on the ASC machines.

I also moved the main function into its own source file independent of
the Application.cpp file. This was necessary because the testing drivers
were running into conflicts where there were multiple main function
found.

I also changed the directories up a bit in the object folder such that
we can now build both release and debug versions at the same time.