Added an XML parser

I added an XML parser that will build the base simulation. I am
currently having an issue with a null pointer exception. I hope to fix
this by tomorrow.
Reorganized and commented code

I reorganized and commented up a bunch of code. I also added some
defensive programming techniques and included additional methods in the
input loader. The previous error still exists but I still can't figure
out why.