Allow creation of poll items from file descriptor.

Adds a constructor to PollItems to allow polling an arbitrary file descriptor. My use case was wantint to poll both stdin and a zmq socket at the same time:

```rust
let mut items = [socket.as_poll_item(), zmq::PollItem::fd(libc::STDIN_FILENO, zmq::POLLIN)];
match zmq::poll(&mut items) {
  Ok(_) => { /*...*/ },
  Err(message) => { /*...*/ }
}
```