Spool codec drops messages

This was picked up by @piavlo when submitting a patch for the compressed spooler.

The spool codec has an algorithm something like:

1. Receive a message, and...
2. If the spool has more space, push it into a buffer.
3. Or if the spool is full, push the spool out over the network

The issue here is that at step 3, the message currently being handled is not added to a spool. So you end up losing messages.

See also https://github.com/elasticsearch/logstash-contrib/pull/111