Allow beforeSend to be async & allow access to xhrFields
This release covers two issues:
-
beforeSendis now allowed to run async. If it returns a Promise, it will be waited on before sending. -
beforeSendis now invoked after thexhrFieldsoption has been processed such that the following assertion fails
See #52 for more details.