UDP and TCP methods should take &mut self to reflect that libuv may change the underlying handle.

TCP methods already did this, but the UDP methods and the socket control functions on TCP/UDP did not.