add task fields to socket
create sosplice task queue
implement sotask()
add and del sosplice task
check for so_splice in sotask()
call yield() to avoid user land starvation