mw.loader: Prevent useless jobs from being added to queue

* load was calling request with ready and error being null.
* request was doing a strict check against undefined to prevent adding
  jobs with no callbacks to the queue.
* Since these were null rather than undefined, the empty jobs got added
  anyway.  Now using undefined instead.
* Mark ready and error as optional in the request JS documentation.

Change-Id: I6428e733899f7c484f842f6fe142c8d4d49ee443