Cache remote interactive autograder responses (#2050)

Should cut the load on the remote graders in half, since most students check their answers, and then we call the graders again when we submit scores.

Responses are just cached locally.  That would make this cache nearly useless if it weren't for session affinity on the load balancers.  But we do keep sessions sticky to app serves, so we should see some hits.  Won't be great, but hopefully still worth it.

@jbau knows this code and he and I have discussed this, so he's best to review.  Not too hairy.