unix, windows: be consistent when binding implictly in UDP

Only these functions will trigger an implicit binding of a UDP handle:
- uv_udp_send
- uv_udp_recv_start
- uv_udp_set_membership

All other functions will return UV_EBADF in case the socket was not
bound.

Note: currently the socket is created and bound at the same time. This
may change in the future.

This is the last piece for https://github.com/joyent/libuv/issues/1205

/cc @indutny