CLC-4349 - Move all the $http items from controllers to factories

https://jira.ets.berkeley.edu/jira/browse/CLC-4349

* dismiss reminder (google)
* webcast widget
* textbook widget (also textbook list)
* splash widget (blog notes)
* server info widget (when you click on the footer)
* styles widget (tools - see footer link)
* admin (view as  / stop viewing as / look up uid-sid)
* Tele-BEARS (add appointment)
* API Tests (hit endpoint / smoketest)
* Basic Authentication

Caches the following widgets on the dashboard pages. **These will need a live update check in QA**.

* groups widget
* classes widget
* up next widget
* tasks widget (also test updating / deleting / remove completed tasks)
Merge pull request #3044 from christianv/CLC-4293

CLC-4349 - Move all the $http items from controllers to factories