Cache 1033476

* [x] Add caching of topics too.
* [ ] Make the loading bar disappear at the correct time. Currently it disappears early.

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. 
Don't access `$$path`, use `$location.path()`. In general, you shouldn't be access `$$variables` in Angular.