Turns out Rack is not fully TFO capable (which we knew).. it branched before
TFO settled into the tree. Now this set of changes updates rack's TFO handling
to match the default stack. It may not be 100% right but hopefully no more crashes
will occur ;)
What this does is
- Bring in updates from tcp_input/output to rack that were done and missed in rack.
- Change some of those to understand the "rack-isms" on how rack does things so that we won't for example calculate a -1 offset in the socket buffer.