client: make sure the watch exists while sending data
client: make sure the watch exists while sending data

Protect the send_func with a lock. This allows us to wait for sending
to complete before changing the send_func and user_data. We add an
extra ref to the watch to make sure that it remains valid during
sending.
When closing the connection, set the send_func to NULL

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692433

surround-io/gst-rtsp-server,hsteinhaus/gst-rtsp-server,hsteinhaus/gst-rtsp-server,surround-io/gst-rtsp-server,Lachann/gst-rtsp-server,thaytan/gst-rtsp-server,barisdemiray/gst-rtsp-server,barisdemiray/gst-rtsp-server,Lachann/gst-rtsp-server,surround-io/gst-rtsp-server,thaytan/gst-rtsp-server,barisdemiray/gst-rtsp-server,thaytan/gst-rtsp-server,hsteinhaus/gst-rtsp-server,Lachann/gst-rtsp-server