lep: request all the things

That in particular won't work on windows. It is not common to map an open socket to a "CRT fd" and it'd limit the number of open sockets to 2000. An `uv_os_handle_t` could work though.

Pragmatics and all that, but it has always my belief that if properly designed libuv would not need to expose raw file descriptors / handles to the user, ever. That makes for a better cross-platform abstraction, and it also clarifies the issue of ownership; if OS fds/sockets are completely hidden from the user it's clear that libuv is responsible for managing the resource. 

At the same time I am well aware that being religious about this has led to some less than pretty APIs, like the way the `uv_listen` callback receives incoming connections in version 1.0 makes the user do casts and switches based on the handle type. The infamous "julia pipe" issue can also be partly attributed to this: casually creating and discarding a libuv handle is super unpractical. 

So I'm +1 if changed to `uv_os_handle_t` (which is to be defined as `HANDLE` on windows, and `int` on unix), but expect me to always be a bit sad about this api.