19471: Add caching

I think this still needs testing, but I implemented it to help us with the schedules theme, and I think it almost completes this ticket

https://jira.dev.bbc.co.uk/browse/IPLAYER-19471
I know Bamboo is always used from inside RW, but is there any precedent for contaminating Bamboo with the BBC framework? It'd be better to keep them as individual modules even if it means looking at alternate caching mechanisms, perhaps even running something like memcache or redis?