quick cleanup
rewrite:
  * handle any amount of input arguments
  * allow multiple error handlers
  * only call error handlers after the error is nextd
  * make passing callback optional
  * rename end to run since it can happen multiple times
Merge pull request #2 from segmentio/arity

rewrite to make more flexible