Add gitignore, clean up makefile

I added a .gitignore file to make it easier to keep binaries out of the repository. Also fiddled around with the make file a bit, adding `.PHONY` markers on clean, adding a run target (which just builds then runs the executable), and making the executable actually compile on my system (it segfaults though :( ).