Merge in HW3 & HW4 support from richardxia/rag

With this merge, saasbook/rag is capable of grading homeworks 1-4. Everything is working correctly as best as I can tell but please test it yourself. 

I don't know what you (Richard) were trying to do with the whole misuse-FastReturn-as-goto whatever, but I have attempted to purge it because it was causing a merge conflict between richardxia/master and richardxia/feature-grader. I think I've merged it correctly (even if it is still ugly), but please take a look.

Additionally, I think we should either move hw3.yml, hw4.yml, and anything else that is relevant into the homework solutions repository or make this repository private.