Adding Midterm Project

Lots of comments in the code itself. Adding Midterm
It looks like you've been mostly been doing this already, but I would recommend using underscores to separate words in your method names, i.e. `def view_crate_contents`