Handle fetchQueue error for preempted requests

When a particular instance preempts a request round trip, the fetch queue can be left in an indeterminate state that can cause future requests to error out due to assumptions about the fetch queue’s contents.

This change ensures that the fetchQueue is completely cleaned. Additionally it protects from NPEs that might occur due to preempted requests in promise supporting environments.
Merge pull request #373 from walmartlabs/preempt-fetch-queue

Handle fetchQueue error for preempted requests