Cleanup chunks only when rescuing from an error

Relying on the `$!` variable to made it possible to unintentionally destroy chunks during a successful pass if the `$!` variable was set by something else upstream.

E.g. `$!` is set to an EOFError under the Pow server, because the Nack server runs everything through an (expected) `EOFError` rescue block:

https://github.com/josh/nack/blob/master/lib/nack/server.rb#L98-L101

Fixes #7