prevent CPU churn by setting long pcap timeout

pcap timeouts are a mystery. Setting the timeout to -1 used to reduce
latency, but that was before we started setting immediate mode. And it
turns out that with that timeout, pcap chews through a lot of CPU
polling its file descriptor, checking timers, etc. However, the
behaviour of setting *no* timeout is defined as, err, undefined. So
instead we set a very long timeout indeed. And loop if it expires.

Fixes #80