Implemented save/load functionality.

Basic save/load functionality.  We will probably need to extend it a bit for assignment 5.  This is adequate for assignment 4, but I'll try to make it more assignment 5-compatible if I have time.
@bsoetaer 
Not sure why exactly but I found this comment hilarious