RFC: More flexible pipe API

@piscisaureus As discussed on IRC and outlined in https://gist.github.com/2879135 and https://gist.github.com/2879181 this makes the pipe API more flexible by giving explicit control over both pipe ends. 
I did the windows side of this first as I figured that would be the more challenging of the two implementations and would thus reveal any issues. 
if all function arguments don't fit on one line, break all on comma and align on paren. e.g.
```
static int uv_create_stdio_pipe_pair(uv_loop_t* loop,
                                     uv_pipe_t* read,
                                     uv_pipe_t* write) {
```