Student folders

This branch separates each students code into their own folder, performs the build in that folder and also directs the build output to a build log. Basic build error detecting is performed by checking the build processes return code. This build also allows you to repeatedly run the student's program for testing.

This code has not been tested yet due to a lack of something to test it on.