Add MHD_quiesce_daemon()

You can call it as an intermediate step before MHD_destory_daemon(),
giving clients a chance to finish their requests, but preventing
additional new requests from coming in.
Merge pull request #1 from scottjg/quiesce

Add quiesce functionality to enable zero-downtime deploys
quiesce: use shutdown() or pipe signaling to ensure select() is aborted

otherwise we might hang forever in select()
quiesce: dummy socket needs to be listen()ing or select() will spin calling accept()
quiesce: always use a pipe to signal select() loop
quiesce: drain signaling pipe in select loop

otherwise after quiesce, the pipe is always full and causes the select
loop to spin.
Use pipe2() with O_CLOEXEC where available
Fix build on OSX

remove use of deprecated autoconf macro
Revert "Use pipe2() with O_CLOEXEC where available"

This reverts commit 0da64d322c74cef2a5ad9b4bb7a49f492e59caf3.
Revert "quiesce: drain signaling pipe in select loop"

This reverts commit 865a559a9e5503b53fdf7aa8c21cbfd9fbb5444a.
Revert "quiesce: always use a pipe to signal select() loop"

This reverts commit 5847906213091eebfd4a8355758cc3a964b898a3.
Revert "quiesce: dummy socket needs to be listen()ing or select() will spin calling accept()"

This reverts commit 1e52e30d1717b1e954a755e3b81fded25a600e38.
Revert "quiesce: use shutdown() or pipe signaling to ensure select() is aborted"

This reverts commit 0afa79261f7c68255b928c70665dfb8d46168d2c.
Revert "Merge pull request #1 from scottjg/quiesce"

This reverts commit dea1673c931020a82d7e993f647a85a809e049f3, reversing
changes made to fc5f0100c5259ffc5695e429e79e77c35ce5f275.
Merge branch 'mainline'
track when daemon is quiescing in select loop

otherwise if we wake up out of the poll loop after quiescing, we'll spin
forever trying to poll 0 sockets

Conflicts:
	src/microhttpd/daemon.c