add uv_send/recv_buffer_size

This will let the user inspect the buffer sizes of the socks and adjust their sizes.

This is useful if you have high volume traffic applications, since you can adjust the buffer to be much bigger and let the app therefore make less receives or writes(which are costly operations, since you cross from userspace to kernelspace). 

Goes hand in hand with try_write and try_send.

I'm going to add the windows code later today.
Please reorder the parameters:

~~~~
static int uv__sockopt(uv_handle_t* handle, int optname, int* value) {
~~~~