[441] Provide simple function to generate cached reports

Modify the reports to be able to check the cache automagically

Allows the reports to check the cache first before doing any work, and will
returned the cached version if found and younger than 24 hours.

Also lists all of the keys for reports it can generate

Made sure that all the reports have caching installed.

Remove the broken dataset list from cache

  This is currently rather large, and because we are getting the 5mb from the db
is causing issues when we have the string, the json and the resulting dict.