Fixed double messages issue.

This extends https://github.com/learningequality/ka-lite/pull/1750 by:
* Handling all types of messages currently returned from our back-end APIs
* Making `doRequest` add callbacks for do the common API message handling.
* Extending `doRequest` to accept request options, so all API requests can use it
* Shifting all API requests to use `doRequest`
* Making API message handling more consistent by making all API requests return success (and error) messages, then removing front-end-based success messaging where it existed.

**Testing:**
* Tested in video download/delete/cancel, language pack download/delete, and new user management panel. 

**Notes:**
* I reviewed @ruimalherio 's code previously and no additional testing is needed for those code changes; feel free to focus on the code changes I've made for review & testing.