Assertion hit / crash in EventSource::abortConnectionAttempt()

Fix a possible assertion hit in EventSource::abortConnectionAttempt() when attempting a
cross-origin request towards a non-HTTP URL, an early verification of the protocol
scheme will cause didFailAccessControlCheck to be called synchronously before the loader
has even finished being created. This special case was not handled properly, since we
tried to cancel a non-existing loader, which resulted in a crash.

In addition to checking whether a request is in flight before trying to cancel it, this
change also schedules the initial creation of the loader to happen asynchronously when
when an EventSource is constructed, so that a script can register for the error event
before it is dispatched (as a result of passing a non-HTTP URL to the constructor).

This patch is based on WebKit r149098 by Per-Erik Brodin <per-erik.brodin@ericsson.com>.

BUG=315178

Review URL: https://codereview.chromium.org/60493003

git-svn-id: svn://svn.chromium.org/blink/trunk@161464 bbb929c8-8fbe-4397-9dbb-9b2b20218538