Separate async error from original error
Separate async error from original error

The original error needs to be kept separately from any potential errors that
might occur while processing the onError hooks.

This was already done in one place where `err2` was being used.

If all onError callbacks complete successfully then `async.eachSeries` calls its
callback without an error value.

One way to repro this problem is to set up a `beforeRequest` hook that sets
`request.url = null`.  Artillery then errors in a spot where it tries to access
the original error but actually accesses the non-existent async error.

shoreditch-ops/artillery,shoreditch-ops/artillery,hassy/artillery,hassy/artillery-core,shoreditch-ops/artillery-core,shoreditch-ops/artillery,erikerikson/artillery-core,shoreditch-ops/artillery-core,hassy/artillery,hassy/artillery,erikerikson/artillery-core,hassy/artillery-core