Code Cleanup

Changed quite a few things.

* Moved the UK chart stuff to its own class, to make it easier to extend with other countries charts
* Implemented file cache with expiry, removed old (faulty) HTTP cache
* Cache the output, not the HTML page
* General code cleanup