Use rb_thread_fd_select to process replies

Previously rb_thread_wait_fd() was used which would block the thread
until more traffic arrived relating to our query.  Since this could be a
long time (possibly until a service appeared or disappeared),
DNSSD::Service#stop would not appear to work.

Now rb_thread_fd_select() is used which allows a timeout so we can poll
to see if we have been stopped.  The polling interval is every ten
milliseconds.

Fixes #10

Closes #13