send all errors after first to optional error callback

- first error goes to callback, the rest are sent to an optional error
  handler. This way error information is not lost
- throw if after is called too many times