Add some more caching

* Cache room attribute values in Redis
* Memoize various functions during a single request context
Provide 5 instead of 3 stack frames in db log
Avoid warning about empty IN clause