* pound.h: Move externs to extern.h
(SLIST_HEAD,SLIST_HEAD_INITIALIZER,SLIST_ENTRY)
(SLIST_INIT,SLIST_PUSH,SLIST_SHIFT,SLIST_FOREACH)
(SLIST_COPY,SLIST_FIRST,SLIST_EMPTY,SLIST_NEXT): New macros.
(MATCHER, BACKEND, SERVICE)
(POUND_CTX, LISTENER): Change type of the next field.
(MATCHER_HEAD, BACKEND_HEAD, SERVICE_HEAD)
(POUND_CTX_HEAD, LISTENER_HEAD): New aggregate types.
* extern.h: New file.
* Makefile.am (noinst_HEADERS): Add new files.
* config.c: Include extern.h
Use SLIST macros to manipulate lists.
(parse_emergency): Only one emergency block is allowed.
* http.c: Use SLIST macros to manipulate lists.
* pound.c: Likewise.
* svc.c: Likewise.
* poundctl.c: Likewise.
* tests/Makefile.am: Add new files.
* tests/testsuite.at: Likewise.
* tests/https.at: New file.
* tests/virthost.at: New file.
* tests/poundharness.pl: Add https support and regex matching for
headers.