Change streamer.TailReader to drain the file instead of aborting immediately on close.
Change streamer.TailReader to drain the file instead of aborting immediately on close.

Also, change it to an atomic int instead of a channel because I honestly find the channel semantics more complicated than just using the primitives.

This change happens to be a semantic noop for the streamer mux because of the way it already used the tailers -- the writer side emits a close directive in the stream itself, which is naturally race-free and (assuming a sane actor on the writer side) is itself the semantic EOF -- but for a writer we don't control in such a way, we end up driving the control channel for the close op from a thread that generally isn't the reader, and thus draining is very necessary.

Signed-off-by: Eric Myhre <2346ad27d7568ba9896f1b7da6b5991251debdf2@exultant.us>

subuser-security/repeatr,polydawn/repeatr,polydawn/repeatr,subuser-security/repeatr