Implement solution expiry for bulk purchasing.

Expired solutions now appear with a red background.
bulk purchase will let you know if any of your purchased solutions in
the set have expired, and after completing the purchase, it will renew
them.
Fix JS bug where questions were not coloured gray after purchasing an
entire textbook.