Removing redundant libuv bindings
Added libuv UDP function bindings.
Corrected libuv UDP bindings.
Added a utility function to extract the udp handle from udp send requests.
added bindings to extract udp handle from udp send requests
Added a UdpWatcher and UdpSendRequest with associated callbacks
Adds conditional byteswapping intrinsics

These intrinsics are synthesized, so maybe they should be in another
file. But since they are just a single line of code each, based on the
bswap intrinsics and aren't really intended for public consumption (they should be exposed as a
single function / trait) I thought they would fit here.
added wrappers about uv_ip{4,6}_{port,name}
Added a RtioUdpStream trait
added a function to convert C's ipv4 data structure into the Rust ipv4 data structure.
added Eq and TotalEq instances for IpAddr
stated to implement UdpStream
Started to implemented UdpStream
Merge remote-tracking branch 'upstream/io' into io

Conflicts:
	src/libstd/rt/uvio.rs
Wrote the Eq instance of IpAddr in a slightly different way.
Changed visibility from being on the impl to being on methods per language syntax change.
socket based UDP io
derived instances of Eq and TotalEq for IpAddr rather than implement them manually.
Merge remote-tracking branch 'upstream/io' into io
UDP networking with tests