Cache 1033476

* [ ] Add caching of topics too.

This adds an option for updating the cache if the user doesn't have many documents cached already.

* Many is defined as 5 or less. 
You generally shouldn't access `$$` attributes. Instead use `.path()`. [Docs](https://docs.angularjs.org/api/ng/service/$location)