MEDIUM: stream-int: split the shutr/shutw functions between applet and conn

These functions induce a lot of ifs everywhere because they consider two
different cases, one which is where the connection exists and has a file
descriptor, and the other one which is the default case where at most an
applet has to be notified.

Let's have them in si_ops and automatically decide which one to use.

The connection shutdown sequence has been slightly simplified, and we
now clear the flags at the end.

Also we remove SHUTR_NOW after a shutw with nolinger, as it's cleaner
not to keep it.
diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h
index 6748fbf..257a5d6 100644
--- a/include/types/stream_interface.h
+++ b/include/types/stream_interface.h
@@ -85,6 +85,8 @@
 	void (*update)(struct stream_interface *);  /* I/O update function */
 	void (*chk_rcv)(struct stream_interface *); /* chk_rcv function */
 	void (*chk_snd)(struct stream_interface *); /* chk_snd function */
+	int (*shutr)(struct stream_interface *);    /* shut read function */
+	int (*shutw)(struct stream_interface *);    /* shut write function */
 };
 
 /* A stream interface has 3 parts :