add uv udp try send

Please review the commits and give me comments on them.
Hm... it was inlined on windows before this patch-set, should we consider transforming this into a define with a code wrapped in `do { } while (0)`?