When going between python 2 and python 3.5 we can get pickeld course
structires that are incompatible no matter what we do do to the bug
linked in the comment. In this case, handle the error and delete the
corrupt data from the cache.
Making this fairly generic because if we have any bad data in cache we
don't want it to blow up the whole process. Just delete the bad data
and try again.