Fix race condition in XHR and handle other abort/open scenarios

This fixes issue #3630
A short summary of the changes:
* Use generation id to cancel inflight requests
* Handles nested calls to abort, open, send inside handlers
* Adds XHRReleaseMsg to delay freeing XHR object till all
  inflight events are processed
* Change the ErroredMsg enum to be more symmetric with the returned
  Error enum
Update expectations for wpt tests under /XMLHttpRequest

Following tests are re-enabled:
* /XMLHttpRequest/send-network-error-async-events.sub.htm
* /XMLHttpRequest/send-network-error-sync-events.sub.htm
* /XMLHttpRequest/xmlhttprequest-timeout-worker-aborted.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-overrides.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-simple.html
* /XMLHttpRequest/xmlhttprequest-timeout-worker-twice.html

Following tests are disabled:
* /XMLHttpRequest/xmlhttprequest-timeout-worker-overridesexpires.html

The following tests are expected to timeout since window.postMessage is
not implemented yet:

* /XMLHttpRequest/xmlhttprequest-timeout-abortedonmain.html
* /XMLHttpRequest/xmlhttprequest-timeout-overrides.html
* /XMLHttpRequest/xmlhttprequest-timeout-overridesexpires.html
auto merge of #3732 : mukilan/servo/xhr-issue-3630, r=jdm

This fixes issue #3630
A short summary of the changes:
* Use atomic generation id to cancel inflight requests
* Handles nested calls to abort, open, send inside handlers
* Adds XHRReleaseMsg to delay freeing XHR object till all
  inflight events are processed
* Handles both timeout, errors and abort/open in a symmetric fashion
  i.e All inflight events will be cancelled for timeouts, aborts,
    errors and on calling open.
* Change the ErroredMsg enum to be more symmetric with the returned
  Error enum

I noticed a few possible changes that could make the code for fetch task simpler:
* We can remove the additional timer task and let the fetch task manage 
  its own timer (or maybe the resource loader can do this.)
* The CORS related steps could also be moved into the resource loader.
* Right now upload events are not support. This requires some support 
  from resource loader.
Corral debug command-line options into a --debug/-Z flag

This should make help output a lot cleaner and simplify the way that
uncommon debug options are passed.
auto merge of #3879 : mrobinson/servo/debug-options, r=cgaebel

This should make help output a lot cleaner and simplify the way that
uncommon debug options are passed.
Invert control flow, fix resizing, and improve checkerboarding
significantly by giving tiles some time to paint before we render
unrendered content.
auto merge of #3761 : pcwalton/servo/smooth-scrolling, r=larsbergstrom

r? @glennw @mbrubeck
Update web-platform-tests.