breaking change: tweaks to poll and PollItem

* PollItem should take lifetime to make sure it doesn't outlive a socket
* PollItem.revents should be private and turned into a method
* `poll` should return an `int` as it's the number of signaled events.