Fixed the root for #21
Fixed the root for #21

HTTP/1.1 was running in a loop, except for pipelined requests, meaning
that any incoming data that was received during processing (not
pipelined) was processed within the loop.

By having the `on_open` delay the review of the loop, the loop resumed
after new data entered the buffer.

This was the root cause and this is an actual fix and not just a
stop-gag that masks the issue.

This fix implements a `facil_force_event` for looping, so if the
protocol was changed mid-stream, the new protocol will receive the new
data.

boazsegev/iodine,boazsegev/iodine,boazsegev/iodine