Ensure run callback in only called once

We noticed a situation where run's callback could be called more than
once if a stream errored and then finished. We couldn't find clear
documentation from node about how streams are supposed to handle this,
but we believe this is reasonable stream behavior and only calling the
callback once shouldn't hurt anything.
0.10.9
Explicitly test for error
Merge pull request #62 from Clever/ensure-cb-only-called-once

Ensure cb only called once