allow triggering filter block when eof for initial state of input stream

Addresses #7, but not sure it is the right solution.

Note that this does break backwards compatibility somewhat if users assume that the block only gets called with data (i.e. see the change of line 418 of filter_io_spec.rb)


I think the expectation should change to show that the the block is first called with an empty string.