Added program and interrupt reading to Memory

Implementation reads filenames from argv. CPU will need to pass them
through when it is exec'd. Created system of Exceptions for various
memory errors, can be extended.
.gitignore

Ignores *.exe, *.out