clean up async requests all over the place and cache some requests

* Moves resourcesService into its own js file
* Moves most http requests into resourcesService
* Adds caching for certain high frequency requests to reduce server load