Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

More closely reproduce select() behaviour when using poll()

Specifically, have errors mean the fd is "ready".

Also, fix some extra revent clearing and a spy socket issue while
we're looking at this code.

Should fix issues with CGI scripts that close stdin/stdout but do
not terminate, and maybe deal with some other corner cases at the
same time.
14 jobs for dailybuild_win32 in 13 minutes and 27 seconds (queued for 9 seconds)
Status Job ID Name Coverage
  Build
passed #18616
FreeBSD
jsdoor-freebsd

00:05:26

passed #18617
Linux
jsdoor-linux

00:10:04

passed #18619
FreeBSD
jsdoor-windows

00:02:37

passed #18611
FreeBSD
sbbs-freebsd

00:07:34

passed #18606
Linux
sbbs-linux

00:13:19

passed #18609
Windows
sbbs-windows

00:05:06

passed #18618
FreeBSD
sexpots-freebsd

00:00:12

passed #18607
Linux
sexpots-linux

00:00:16

passed #18610
Windows
sexpots-windows

00:00:26

passed #18614
FreeBSD
syncdraw-freebsd

00:00:28

passed #18615
Linux
syncdraw-linux

00:00:19

passed #18612
FreeBSD
syncterm-freebsd

00:01:21

passed #18608
Linux
syncterm-linux

00:06:40

passed #18613
FreeBSD
syncterm-windows

00:02:22