Fire loadend after load on final XHR state change

This supports frameworks/users relying on loadend progress event (e.g., [sproutcore 1.9.2](https://github.com/sproutcore/sproutcore/blob/REL-1.9.2/frameworks/ajax/system/response.js#L551)).

The loadend event can be referenced on [MDN](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest?redirectlocale=en-US&redirectslug=DOM%2FXMLHttpRequest%2FUsing_XMLHttpRequest#Monitoring_progress).