cache question validity checks (see #68)

The cache will be invalidated if one of the following is created
or updated:
* Reviews
* Questions
* Answers
* Categories

If all questions have their validity cached this brings down the
time to get questions for unregistered users to ~110ms locally.
However, it is unlikely that this value will hold in production
due to the frequent admin/reviewer changes. Hopefully this cache
can improve the default response time from ~185ms.